字符串或者一串整数,分开然后再求和,用C语言

例如:输入一串字符串“1234”,或者是整数1234,现在要把它拆成1,2,3,4 放在一个数组里,然后再求1+2+3+4的和,哪位高手指导下呀。
事先是不知道字符串的长度的,是任意输入的,不一定是1234,可以使123214314.。。。。。

第1个回答  2009-09-22
对于整数1234
1=1234/1000
2=1234%1000/10
3=1234%100/10
4=1234%10

对于字符串"1234"
1234=atoi(“1234”);

任意输入的话:
可以用strlen来求到字符串的长度LEN
在申请合适的空间的数组a[LEN]
int i = 0;
char *p = str;
while(p != NULL) {
a[i++] = *p;
}

int s;
i = 0;
for (i=0; i<LEN; i++) {
s += atoi(a[i++]);
}
第2个回答  2009-09-21
不需要放数组里

输入整数:
#include <stdio.h>
void main()
{
int a, b;
scanf("%d", &a);

b = a/1000 + a/100%10 + a/10%10 + a%10;

printf("%d\n", b);
}

输入字符串用1234=atoi(“1234”);来转换本回答被提问者采纳
第3个回答  2009-09-21
定义char *s来接受字符串,写个函数计算字符串中的个数,写个函数用来计算10的n次方,再根据楼上的思想往下写