hdu2113的格式问题

    这道题主要是格式问题,它要我们对于每组输入数据,输出一行,每两组数组之间有一个空行

而这个跟之前的题目有点不同,之前是输入整数,如 i,对于他的格式的控制可以:当i如果是第一个的话,就直接输出printf("%d",sum),剩下的就直接是printf("\n%d",sum)就完全可以解决格式问题。

但是这里他并没有给你个数,而是要你直接输入。

有两种格式控制方法:

直接附代码吧:

法一://这里的思路就是k首先为0,判断他为不为1,不为1,然后令k为1,直接输出答案,然后到到第二个的时候k为1,就先换行,然后再输出答案,这样到最后一个的时候也就不会有空行了。

#include<stdio.h>
int main(){
int n,sum;
int k=0;
while(scanf("%d",&n)!=EOF){//k不能定义在里面
    sum=0;
    int t;
    while(n!=0){
    t=n%10;
    if(t%2==0) sum=sum+t;
    n=n/10;}
    if(k==1) printf("\n");
    k=1;
    printf("%d\n",sum);


}
return 0;

}

法二://这里其实跟之前的题型的方法有点像,第一个输出设为k=1;然后 直接输出,然后k++;当k!=1时,printf("\n%d\n",sum);

#include<stdio.h>

int main(){
int n,sum;
int k=1;
while(scanf("%d",&n)!=EOF){
    sum=0;
    int t;
    while(n!=0){
    t=n%10;
    if(t%2==0) sum=sum+t;
    n=n/10;}
    if(k==1) printf("%d\n",sum);
     if(k!=1)
    printf("\n%d\n",sum);
k++;
}
return 0;
}


猜你喜欢

转载自blog.csdn.net/xdyzengqian/article/details/79901552