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 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])

}


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存