题目:
题目大致意思就是输入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需要可以实现输入多行.