這裏我的問題是計算輸入從文件中獲取的整數的無限數量的總和。該文件包含無限個整數在由space.And也是我需要顯示無效的輸入,如果整的那些輸入包含任何其它字符或symbols.I曾試圖驗證碼輸出以及 這裏是我的代碼....通過從C中的文件輸入輸入的無限整數的總和
void main()
{
int i=1,j,a[100000],total=0,r=0;
char discard,buffer[1024];
FILE *fp;
char filename[100];
scanf("%s",filename);
fp=fopen(filename,"r");
do
{
fscanf(fp,"%1024s%c",buffer,&discard);
r+=sscanf(buffer,"%d",&a[i]);
total+=a[i++];
} while(discard!='\n');
if(r==i-1)
{
printf("\n%d",total);
}
else
printf("\n Invalid Input");
}
的代碼執行但這裏的問題是代碼超出了我的時間限制。請幫助我,以便我可以得到更好的代碼
顯示輸入文件的前3-4行。 –
總結無限數量的整數總是需要無限的時間,因此違反了您的時間約束。 –
@ChristianJonassen OP必須有一個驚人的硬盤,可以包含一個無限數量的行...... ;-) –