这里我的问题是计算输入从文件中获取的整数的无限数量的总和。该文件包含无限个整数在由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必须有一个惊人的硬盘,可以包含一个无限数量的行...... ;-) –