#include<stdio.h>main(){//輸入一個數(shù)字判斷是否與數(shù)組重復(fù)??? int num;//輸入的數(shù)字??? int a[10]={45,52,75,76,79,81,90,92,100};??? printf("請輸入一個數(shù)字\n");??? scanf("%d",&num);??? if(a[10] == num)??????? {??????????? printf("數(shù)字%d重復(fù)了",num);??????? }??? else??????? {???????????? printf("抱歉,沒有重復(fù)的\n");??????? }??????????? return 0;}
2 回答
已采納

進(jìn)擊的學(xué)霸No1
TA貢獻(xiàn)15條經(jīng)驗(yàn) 獲得超12個贊
#include<stdio.h> main() {//輸入一個數(shù)字判斷是否與數(shù)組重復(fù) ????int?num,i;//輸入的數(shù)字 ????int?a[10]={45,52,75,76,79,81,90,92,100}; ????printf("請輸入一個數(shù)字\n"); ????scanf("%d",&num); for(i=0;i<10;i++) { if(a[i]==num) break;//如果num和數(shù)組內(nèi)的數(shù)相等就跳出循環(huán) } if(i<10)//如果沒有重復(fù)的數(shù),for會循環(huán)到最后即i=10,若i<10則說明是中途跳出的 printf("%d重復(fù)了!\n",num); else printf("沒有重復(fù)!\n"); //printf("%d\n",a[10]); return?0; }
在你的代碼中,第一個a[10]代表的是這個數(shù)組的長度為10,第二個a[10]表示的是下標(biāo)為10的數(shù)組元素,不可以直接用整個數(shù)組進(jìn)行比較。應(yīng)該用for循環(huán),比較每一個數(shù),如果有相等的就break,輸出此時的下標(biāo)的數(shù)即相同的數(shù)

望遠(yuǎn)
TA貢獻(xiàn)1017條經(jīng)驗(yàn) 獲得超1032個贊
#include<stdio.h> int?main() {//輸入一個數(shù)字判斷是否與數(shù)組重復(fù) ????int?num;//輸入的數(shù)字 ????int?i; ????int?a[10]={45,52,75,76,79,81,90,92,100};//一共有10個元素,最后有一個默認(rèn)的0 ????printf("請輸入一個數(shù)字\n"); ????scanf("%d",&num); ????//a[10]沒有元素a[10] ????for(i=0;i<10;i++) ????{ ????????if(a[i]==num){ ?????????????break; ????????} ????} ????if(i!=10)//如果a[i]==num會成立跳出循環(huán)i的取值就是0-9,最大就是9 ????????{ ????????????printf("數(shù)字%d重復(fù)了",num); ????????} ????else ????????{ ?????????????printf("抱歉,沒有重復(fù)的\n");//未執(zhí)行break,正常結(jié)束循環(huán) ????????} ????????????return?0; }
- 2 回答
- 0 關(guān)注
- 1691 瀏覽
添加回答
舉報(bào)
0/150
提交
取消