ACM里说多组数据怎么输入啊?

ACM里说多组数据怎么输入啊?,第1张

#include <stdio.h>

int main()

{

int i,n,s

while(scanf("%d",&n)!=EOF)

{

s=0

for(i=1i<=ni++)

s+=i

printf("%d\n",s)

/*或者去掉前面的,只用这一句。

printf("%d\n",(n+1)*n/2)等差数列*/

}

return 0

}

输出也在循环体内 ,就可以多次输出了

scanf 是有返回值的,返回读到的数据的个数,所以while(scanf("%d",&n)!=EOF)就等价于while(scanf("%d",&n)==1),!=EOF 就是还有读到数据,继续处理的意思

还有一点要注意,有些题目处理玩一组数据后某些变量值会发生变化,所以循环体内要记得初始化 ,比如程序那个s=0,要放在循环体内

#include<stdio.h>

int main()

{

int a,b

int c=0

while(scanf("%d%d",&a,&b)!=EOF)

{

if(a==0&&b==0)break

if(c>0)puts("")

c++

printf("%d\n",a+b)

}

return 0

}

#include<stdio.h>

这是头文件的包含,c语言书上肯定有

while(scanf("%d",&n)!=EOF)

这句话是为了在OJ上提交用的,

OJ上有很多组数据的输入,你不知道有多少组

这句话就是说有输入,执行,直到OJ输入结束了,程序也结束

EOF = end of file


欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/sjk/9390849.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-27
下一篇 2023-04-27

发表评论

登录后才能评论

评论列表(0条)

保存