数字求和

Description
输入一个整数,求它的各位数字之和及位数。例如-234的各位数字之和是9,位数是3.

Input
输入一个整数n

Output
求它的各位数字之和及位数,注意处理数字0哦。

Sample Input
-234
12345
Sample Output
9 3
15 5

#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <string.h>

int chartonum(char c);
int main(int argc, char *argv[]) {
	char a[100];
	while(gets(a)!=NULL){
		int sum=0;
		int i;
		int count;
		//负数 
		if(a[0]=='-')
		{	count=strlen(a)-1;
			for(i=1;a[i]!='\0';i++){
				
				sum+=chartonum(a[i]);
				
			}
		
		}
		//非负数 
		else{
			count=strlen(a);
			//0
			if(a[0]=='0')	
			{	
				printf("0 1\n");
				continue;
			}
			//正整数 
			else{
				for(i=0;a[i]!='\0';i++){
					sum+=chartonum(a[i]);
				}
			}
		}
		
		printf("%d %d\n",abs(sum),count);
	} 
	return 0;
}
//字符转换数字的函数 
int chartonum(char c){
	switch (c)
{
		case '0':return 0;
		case '1':return 1;
		case '2':return 2;
		case '3':return 3;
		case '4':return 4;
		case '5':return 5;
		case '6':return 6;
		case '7':return 7;
		case '8':return 8;
		case '9':return 9;
}	

}
全部评论

相关推荐

走不到的路就这样算了吗:大佬硬气
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务