第1个回答 2011-05-02
#include"stdio.h"
#include"stdlib.h"
int main()
{
int x,sum=0,num[100];
int i=0;
printf("请输入整数:");
scanf("%d",&x);
while(x>9)
{
i++;
num[i]=x%10;//求出最后的一个位数值并进行保存,例如123,这里先保存3,在保存2,最
/后是1
sum+=x%10;//各个数位相加,从后向前加
x=x/10;//去掉最后一位
}
i++;
sum+=x;//加上第一位
for(int j=i;j>0;j++)
printf("第%d位数字是:%d\n",i-j+1,num[j]);//打印各个位数的值
printf("sum=%d\n",sum);//打印出各个位数之和
system("pause");//暂停
return 0;
}
第2个回答 2011-05-02
#include <stdio.h>
int main()
{
char a[100];
int sum;
int i;
printf("input a number:\n");
gets(a);
i = 0;
while(a[i])
{
i++;
}
i--;
sum = 0;
while(i>-1)
{
sum = sum + a[i] - '0';
i--;
}
printf("sum is %d\n",sum);
return 0;
}
运行效果:
C:\Documents and Settings\Owner\桌面>test.exe
input a number:
486135
sum is 27
C:\Documents and Settings\Owner\桌面>
第3个回答 2011-05-02
#include<stdio.h>
void main()
{
int x,sum=0;
printf("请输入整数:");
scanf("%d",&x);
while(x!=0)
{
sum+=x%10;
x=x/10;
}
printf("sum=%d\n",sum);
}
第4个回答 2011-05-03
#include "stdio.h"
#include "stdlib.h"
int getCharCount(char *sz,char ch,int len)
{
int i = 0;
int icount =0;
for(i=0;i<len,i++)
{
if(*sz == ch)
icount = icount +1;
sz++;
}
return icount;
}
void main()
{
char sz[10]=;
int iCnt=0;
iCnt = getCharCount(sz,'a',10);
printf("a 的个数为 %d",iCnt);
getche();
}