ACM输入输出格式总结

输入问题:

一,输入不说明有多少个Input Block,以EOF为结束标志。

#include <stdio.h>
 int main()
 { 
    int a,b;
while(scanf("%d %d",&a, &b) != EOF)  
  printf("%d\n",a+b);
} 

说明
1.Scanf函数返回值就是读出的变量个数,如:scanf(“%d  %d”, &a, &b );
如果a和b都被成功读入整数,那么scanf的返回值就是2;
如果只有a被成功读入整数,返回值为1;
如果a和b都未被成功读入整数,返回值为0;
如果遇到错误或遇到end of file,返回值为EOF
2.EOF是一个预定义的常量,等于-1。

二,输入一开始就会说有N个Input Block,下面接着是N个Input Block。 
#include <stdio.h>
 int main()
 { 
    int n,i,a,b;
	 scanf("%d",&n);
for(i=0;i<n;i++)
{
 	 scanf("%d %d",&a, &b);
   	 printf("%d\n",a+b);
 }  } 

三,
输入不说明有多少个Input Block,但以某个特殊输入为结束标志。
while( cin >> n && n != 0 ) 
{    
 ....
 }

 
四,输入是一整行的字符串的
C语法 char buf[20];gets(buf);
C++  用string buf保存,getline(cin,buf);
     用char buf[255]保存,cin.getline(buf,255);

scanf(“%s%s”,str1,str2),在多个字符串之间用一个或多个空格分隔;
若使用gets函数,应为gets(str1); gets(str2); 字符串之间用回车符作分隔。
通常情况下,接受短字符用scanf函数,接受长字符用gets函数。
而getchar函数每次只接受一个字符,经常c=getchar()这样来使用。

getline是一个函数,它可以接受用户的输入的字符,直到已达指定个数,或者用户输入了特定的字符。它的函数声明形式(函数原型)如下:

 istream&getline(charline[], intsize, char endchar= '\n');

不用管它的返回类型,来关心它的三个参数:
char line[]:就是一个字符数组,用户输入的内容将存入在该数组内。
int size : 最多接受几个字符?用户超过size的输入都将不被接受。
char endchar :当用户输入endchar指定的字符时,自动结束。默认是回车符。

输出问题:
一,一个Input Block对应一个Output Block,Output Block之间空行。
#include <stdio.h>
 int main()
 { 
    int icase,n,i,j,a,sum;
    scanf("%d",&icase);
    for(i=0;i<icase;i++)
  {
	sum=0;
         scanf("%d",&n);
	for(j=0;j<n;j++)
	{
	     scanf("%d",&a);
               sum+=a;
	}
	if(i<icase-1)
   	   printf("%d\n\n",sum);
         else
 	   printf("%d\n",sum);
 }
 } 

for (k=0;k<count;k++) 
{      
 while (…)      
 {            
  printf(" %d\n",result);    
   }    
   if (k!=count-1)
 printf("\n");
 } 









  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值