本題要求從輸入的N個整數中查找給定的X。若是找到,輸出X的位置(從0開始數);若是沒有找到,輸出「Not Found」。數組
輸入格式:
輸入在第一行中給出兩個正整數N(≤20)和X,第二行給出N個整數。數字均不超過長整型,其間以空格分隔。設計
輸出格式:
在一行中輸出X的位置,或者「Not Found」。調試
輸入樣例1:
5 7
3 5 7 1 9
輸出樣例1:
2
輸入樣例2:
5 7
3 5 8 1 9
輸出樣例2:
Not Foundcode
#include<stdio.h> int main(void) { int X, flag, N; int a[20]; scanf("%d %d",&N, &X); flag=0; for(int i=0;i<N;i++) { scanf("%d ",&a[i]); if(a[i] == X) { printf("%d\n",i); flag=1; break; } } if(flag == 0) printf("Not Found\n"); return 0; }
遇到的問題1:編譯錯誤
解決的辦法:查看error信息,發現忘記定義N變量。blog
遇到的問題2:部分正確
解決的辦法:原本實在找不出錯誤緣由了,可是看書的時候忽然在P153最下面看見一句話「數組的長度必須定義,若是沒法肯定須要處理的數據長度,至少也要估計其上限,並將該上限做爲數組長度」,就發現個人數組沒有定義長度。io
本題要求編寫程序,找出給定的n個數中的最大值及其對應的最小下標(下標從0開始)。編譯
輸入格式:
輸入在第一行中給出一個正整數n(1<n≤10)。第二行輸入n個整數,用空格分開。class
輸出格式:
在一行中輸出最大值及最大值的最小下標,中間用一個空格分開。變量
輸入樣例:
6
2 8 10 1 9 10
輸出樣例:
10 2程序
#include<stdio.h> int main(void) { int i, max, n; int a[10]; scanf("%d",&n); for(i=0; i<n; i++) { scanf("%d",&a[i]); max=0; } for(i=1; i<n; i++) { if(a[i]>a[max]) max=i; } printf("%d %d", a[max], max); return 0; }
遇到的問題:編譯錯誤
解決的辦法:看error提示,把i的定義放在開頭。