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 n
while (~scanf("%d", &n)) // 读到EOF结束
{
//do something...
}
return 0
}
C风格的语言大概是这样int n
while((scanf("%d",&n))==1){
int a[6][6]
for(int i=0i<ni++)
for(int j=0j<nj++)
scanf("%d",&a[i][j])
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)