在下面的代码中,我使用一个数组来读取4个数字,我只需要显示不同的数字。
#include <stdio.h>
int main(){
int ch[3];
int s[3];
int count = 0;
int i;
int j;
for(i = 0; i < 4; i++){
scanf("%d", &s[i]);
for(i = 0; i < 4; i++){
ch[i] = s[i];
printf("ch= %d", ch[j]);
}
if(ch[i] == s[i]){
count = count + 1;
printf("%d =", count);
}
}
}
有点我没有得到输出,它给了我一个奇怪的输出。
奇怪的输出可能是什么原因?
答案 0 :(得分:0)
int ch[3];
int s[3];
这意味着对这些数组的有效引用可以从0到2,而你的for循环循环4次。
printf("ch= %d",ch[j]);
你的意思是ch [i]?
你用什么&#34; int j&#34;为了?
答案 1 :(得分:0)
不能理解这个问题,但是我写了一个代码,用于获取4个输入,并将其中的不同数字作为输出(或仅发生一次的数字)。
#include <stdio.h>
int main(){
int ch[4];
int s[4];
int i;
int j;
for(j=0;j<4;j++){
ch[j]=0;
}
for( i=0;i<4;i++){
scanf("%d",&s[i]);
}
for(i=0;i<4;i++){
for(j=0;j<4;j++){
if(s[i]==s[j]){
ch[i]++;
}
}
}
for(i=0;i<4;i++){
if(ch[i]==1){
printf("\n%d is the distinct number.", s[i]);
}
}
}