我被要求編寫一個程序,該程序接受一個數字列表,直到遇到一個非數字(最多30個數字),將這些數字放入一個數組中,並記錄多少個數字被插入。然後它應該掃描數組以找到最大的數字,並打印出最大的數字。數組中的最大值
這是我想出來的:
#include<stdio.h>
int main()
{
const int INPUT = 30 ;
int size [INPUT];
int i, big;
printf("Type integer numbers, followed by q to quit: ");
while (scanf("%d", &size[INPUT]) != 'q')
{
for(i=0;i<size;i++)
scanf("%d",&INPUT[i]);
big = INPUT[0];
for(i=1;i<size;i++)
{
if(big<INPUT[i])
big=INPUT[i];
}
printf("The largest number is %d",big);
return 0;
}
1. while循環錯誤; 2.濫用scanf的返回值。 – Sheng
@Shane你能幫我嗎。 – Yvantc
他做到了。看看scanf返回的內容,並評估你的循環標準。 http://stackoverflow.com/questions/10084224/how-do-we-test-the-return-values-from-the-scanf-function – jwrush