当前位置: 代码迷 >> C语言 >> 任意输入一个4位数,求他的数字之和,(如:5173,数字之和是:16
  详细解决方案

任意输入一个4位数,求他的数字之和,(如:5173,数字之和是:16

热度:619   发布时间:2007-04-25 22:48:56.0
以下是引用sunnyrain在2007-4-25 22:02:44的发言:

27楼已经说了呀~~
不管多少位都适用

大数用字符串.


----------------解决方案--------------------------------------------------------
#include"stdio.h"
#include"math.h"
main()
{int n,a,b,c,d,sum;
printf("please input n=:");
scanf("%d",&n);
a=n/10000;
b=n%1000/100;
c=n%1000%100/10;
d=n%1000%100%10;
sum=a+b+c+d;
printf("sum=%d\n",sum);}


这个程序就很简单了,而且很容易懂


----------------解决方案--------------------------------------------------------

老夫也写一个
#include <stdio.h>

typedef char S8;
typedef int S32;

void main(void)
{
S32 num = 0, i = 0;
S8 array[16];

printf("Please input a number:");
scanf("%d", &num);
memset(array, 0, sizeof(array));
itoa(num, array, 10);

num = 0;
while(*(array+i))
{
num += *(array+i)-'0';
i++;
}
printf("result = %d", num);
getch();
}


----------------解决方案--------------------------------------------------------
回复:(young)老夫也写一个#include ...

厉害啊


----------------解决方案--------------------------------------------------------
看看
----------------解决方案--------------------------------------------------------