AHU_OJ 57

题目:

  题目大致意思就是输入n行整型,输入每行整型各个位之和.(以0输入作为结束)

样例:

  INPUT:

    123

    23

    45

    0

  OUTPUT:

    6

    5

    9

 

解决:
  其实题目不难,主要是输入的处理方式上.如果以整形来处理的话那么要处理一共多少位,以及算出各个位的值,比较繁琐.所以采用字符串数组进行处理.下面是代码.

#include "stdio.h"
#define NUM 30
int main()
{
    int a[NUM],sum=0;
    char c;
again:    
    sum=0;
    scanf("%c",&c);                //为了判断输入是不是0
    if('0'==c)
        return 0;
    sum=sum+(int)c-48;         //字符与整型之间的转换.
    while((c=getchar())!='\n')
        sum=sum+(int)c-48;  //计算结果  
    printf("%d\n",sum);
    goto again;
}
    

goto语句完全是为了满足题目OJ需要可以实现输入多行.

posted @ 2014-02-10 00:10  brillliu  阅读(130)  评论(0编辑  收藏  举报