Arrays 找出数字是否相同#

Arrays 找出数字是否相同#,arrays,c,printf,Arrays,C,Printf,我做了这个家庭作业,写了一个程序,读取用户输入的十个数字,并指出其中是否有相同的数字。 我已经有一年没有做任何编程了,所以我忘了很多东西,也没有找到任何与这个主题相关的东西。 我试着用field和if..else,但没用。有没有更快的方法来比较这些数字? 还是用其他方法解决这个问题 我的代码有点糟糕,但我没有想出更好的。代码是用我自己的语言编写的,但应该不会有问题。如果你能帮助我,我将不胜感激 for(i=0;i<=n;i++){ if (pole[0]==pole[2])

我做了这个家庭作业,写了一个程序,读取用户输入的十个数字,并指出其中是否有相同的数字。 我已经有一年没有做任何编程了,所以我忘了很多东西,也没有找到任何与这个主题相关的东西。 我试着用field和if..else,但没用。有没有更快的方法来比较这些数字? 还是用其他方法解决这个问题

我的代码有点糟糕,但我没有想出更好的。代码是用我自己的语言编写的,但应该不会有问题。如果你能帮助我,我将不胜感激

    for(i=0;i<=n;i++){

   if (pole[0]==pole[2])
   printf("first and second number are identical");
   else if (pole[0]==pole[3])
   printf("prvé a tretie číslo sa rovnajú");
   else if (pole[0]==pole[4])
   printf("prvé a stvrte číslo sa rovnajú");
   else if (pole[0]==pole[5])
   printf("prvé a piate číslo sa rovnajú");
   else if (pole[0]==pole[6])
   printf("prvé a sieste číslo sa rovnajú");
   else if (pole[0]==pole[7])
   printf("prvé a siedme číslo sa rovnajú");
   else if (pole[0]==pole[8])
   printf("prvé a osme číslo sa rovnajú");
   else if (pole[0]==pole[9])
   printf("prvé a deviate číslo sa rovnajú");
   else if (pole[0]==pole[10])
   printf("prvé a desiate číslo sa rovnajú");

   else if (pole[2]==pole[3])
   printf("druhe a tretie číslo sa rovnajú");
   else if (pole[2]==pole[4])
   printf("druhe a stvrte číslo sa rovnajú");
   else if (pole[2]==pole[5])
   printf("druhe a piate číslo sa rovnajú");
   else if (pole[2]==pole[6])
   printf("druhe a sieste číslo sa rovnajú");
   else if (pole[2]==pole[7])
   printf("druhe a siedme číslo sa rovnajú");
   else if (pole[2]==pole[8])
   printf("druhe a osme číslo sa rovnajú");
   else if (pole[2]==pole[9])
   printf("druhe a deviate číslo sa rovnajú");
   else if (pole[2]==pole[10])
   printf("druhe a desiate číslo sa rovnajú");
   
   else if (pole[3]==pole[4])
   printf("tretie a stvrte číslo sa rovnajú");
   else if (pole[3]==pole[5])
   printf("tretie a piate číslo sa rovnajú");
   else if (pole[3]==pole[6])
   printf("tretie a sieste číslo sa rovnajú");
   else if (pole[3]==pole[7])
   printf("tretie a siedme číslo sa rovnajú");
   else if (pole[3]==pole[8])
   printf("tretie a osme číslo sa rovnajú");
   else if (pole[3]==pole[9])
   printf("tretie a deviate číslo sa rovnajú");
   else if (pole[3]==pole[10])
   printf("tretie a desiate číslo sa rovnajú");
   
   else if (pole[4]==pole[5])
   printf("stvrte a piate číslo sa rovnajú");
   else if (pole[4]==pole[6])
   printf("stvrte a sieste číslo sa rovnajú");
   else if (pole[4]==pole[7])
   printf("stvrte a siedme číslo sa rovnajú");
   else if (pole[4]==pole[8])
   printf("stvrte a osme číslo sa rovnajú");
   else if (pole[4]==pole[9])
   printf("stvrte a deviate číslo sa rovnajú");
   else if (pole[4]==pole[10])
   printf("stvrte a desiate číslo sa rovnajú");
   
   else if (pole[5]==pole[6])
   printf("piate a sieste číslo sa rovnajú");
   else if (pole[5]==pole[7])
   printf("piate a siedme číslo sa rovnajú");
   else if (pole[5]==pole[8])
   printf("piate a osme číslo sa rovnajú");
   else if (pole[5]==pole[9])
   printf("piate a deviate číslo sa rovnajú");
   else if (pole[5]==pole[10])
   printf("piate a desiate číslo sa rovnajú");
   
   else if (pole[6]==pole[7])
   printf("sieste a siedme číslo sa rovnajú");
   else if (pole[6]==pole[8])
   printf("sieste a osme číslo sa rovnajú");
   else if (pole[6]==pole[9])
   printf("sieste a deviate číslo sa rovnajú");
   else if (pole[6]==pole[10])
   printf("sieste a desiate číslo sa rovnajú");
   
   else if (pole[7]==pole[8])
   printf("siedme a osme číslo sa rovnajú");
   else if (pole[7]==pole[9])
   printf("siedme a deviate číslo sa rovnajú");
   else if (pole[7]==pole[10])
   printf("tretie a desiate číslo sa rovnajú");
   
   else if (pole[8]==pole[9])
   printf("osme a deviate číslo sa rovnajú");
   else if (pole[8]==pole[10])
   printf("osme a desiate číslo sa rovnajú");
   
   else if (pole[9]==pole[10])
   printf("deviate a desiate číslo sa rovnajú");
   else
   printf("there are no identical number");
   }
   
   
   
    return 0;
}

用于(i=0;i嵌套循环

for (int i = 0; i < n - 1; i++)
  for (int j = i + 1; j < n; j++)
    if (pole[i] == pole[j]) {...}
for(int i=0;i
您在代码开头有一个for循环,但您没有使用它,最干净的解决方案是使用2 for循环,如下所示:

int f = 0;

for(int i=0;i<=n;i++){
   for(int j=0;j<i;j++){
       if(pole[i] == pole[j]){
            printf("number at position %d is equal to number at position %d",i,j);
            f = 1;
       }
   }
}
if (f == 0)
    printf("There are no identical numbers");
intf=0;
对于(int i=0;i
int flag=0;

对于(int i=0;i感谢您的回复,这对我帮助很大,我学到了一些东西。我更改了代码,无论我做什么,它总是显示“没有相同的数字”。我不知道是什么原因,我没有希望了

int pole[10];
int i,n,j;


for (i = 0; i <10; i++ ){
    printf ("\n Zadaj [%d] prvok pola: ",i);
    scanf ("%d",&pole[i]);
}

int f=0;

for( i=0;i<=n;i++){
 for( j=0;j<i;j++){
   if(pole[i] == pole[j]){  
        printf("number at position %d is equal to number at position %d",i,j);
        
   }
  }
}
if (f == 0)
printf("There are no identical numbers");
intpole[10];
int i,n,j;
对于(i=0;我欢迎这么说。你在标题中提到了C#,但它完全是C。关于代码,你应该再次阅读关于循环的章节。两个嵌套的循环应该可以做到这一点,并使代码看起来更干净。请展示一些智能,例如使用循环!
int pole[10];
int i,n,j;


for (i = 0; i <10; i++ ){
    printf ("\n Zadaj [%d] prvok pola: ",i);
    scanf ("%d",&pole[i]);
}

int f=0;

for( i=0;i<=n;i++){
 for( j=0;j<i;j++){
   if(pole[i] == pole[j]){  
        printf("number at position %d is equal to number at position %d",i,j);
        
   }
  }
}
if (f == 0)
printf("There are no identical numbers");