如何在C中创建菜单?

时间:2014-05-25 06:40:33

标签: c

使用以下选项创建菜单。

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;       
}

1 个答案:

答案 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
      }

我认为这应该可以解决您的问题。我希望你现在不考虑优化,所以这可能是一个解决方案。你肯定会遇到一些错误。我没有测试过。希望这会有所帮助。