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
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)