C語言學習:檢查重複數字(還存在一點問題)
/*輸入提示:"Input n:\n" 輸入格式: "%ld" 輸出格式: 有重複數字,輸出資訊: "Repeated digit!\n" 沒有重複數字,輸出資訊: "No repeated digit!\n"*/ #include <stdio.h> int main() { int i,j,l; long int n; printf("Input n:\n"); scanf("%ld",&n); l=sizeof(n); int a[l]; for(i=0;i<l;i++)//數字轉為陣列 { a[l-i-1]=n%10; n=n/10; printf("%d ",a[l-i-1]); }
for(i=0;i<l;i++)//檢驗a【i】輸出情況 { printf("\n%d\n",a[i]); }
int flag=0; for(i=0;i<l;i++) //判斷有無相同 { for(j=i+1;j<l;j++) { if(a[i]==a[j]) { flag=1; } } } if(flag==1){ printf("Repeated digit!\n"); } else{printf("No repeated digit!\n");} }
/*可以嘗試執行123;1234;12345,就能找到問題,codeblocks不能單步執行,找不到問題*/