使用以下选项创建菜单。
A)生成n个元素的整数数组。
B)按位置更改元素值
C)显示在元素中重复的值的数量,即如果我们有一个具有以下值2,3,5,2,6,5,7的数组, 他们必须表明2次被提出两次,3次一次5次,6次和7次再次出现
D)退出程序。
我是一名学生,我不知道我的代码会是这样的。
#include <stdio.h>
void ingreso(){
int i=0,tamano,matriz[i],d,a=0;
printf("Escriba el numero de elementos que quieres ingresar ");
scanf("%d", &tamano);
printf("\n");
for(d=1;d <=tamano; d++)
{
printf("Escriba un numero de la matriz ");
scanf("%i", &matriz[i]);
if(i=2){
a=a+1;
printf("\n Se repitio:%d veces \n\n", a);
}
}
printf("%d", matriz[i]);
}
int main (){
printf("Ingresa los valores que tu quieras \n");
printf("Ingresa un numero negativo cuando desies salir \n\n");
ingreso();
return 0;
}
答案 0 :(得分:1)
我会给你伪代码:
1: input n numbers using scanf()
2:sort the array using any sort algorithm.
3:once it is sorted you can easily count if( a[i]==a[i+1])
4: print count and a[i]
或者
1:input n numbers using scanf()
2: for i=0 till n-1{
3: for j=i+1 till n{
4: if a[i] equal to a[j]
if(prev_read[j-1]==i)
ignore and break
prev_read[j-1]==i
5: count++
6: else
prev_read[j-1]=-1
7: count =1
}
8: print a[i] and count
}
我认为这应该可以解决您的问题。我希望你现在不考虑优化,所以这可能是一个解决方案。你肯定会遇到一些错误。我没有测试过。希望这会有所帮助。