用C语言输入10个四位数,将他们的个位、十位、百位、千位分别相加。

输入10个四位数,将它们的个位与个位相加、十位与十位相加、百位与百位相加、千位与千位相加。输出4个结果。

这是道程序题,程序我就不写了,费神,我简单说明一下吧。
举个例子,
比如:
int n=7564
个位=n%10/1
十位=n%100/10(取整)
百位=n%1000/100(取整)
千位=n%10000/1000(取整)

我这么计算是因为它有规律,可以写成循环,无论多少位数都可以通过这个算法直接算出来。。
既然各位数都取出来了,相加应该不是问题了吧。。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-04-09
#include "stdio.h"//
void main(void){
int nDec[10],i,j,sum;
char a[][3]={"个","十","百","千"};
printf("请输入10个4位数...\n");
for(i=0;i<10;i++){
printf("No:%d=",i+1);
scanf("%d",nDec+i);
}
printf("------------\n");
for(i=0;i<4;i++){
for(sum=j=0;j<10;j++){
sum+=nDec[j]%10;
nDec[j]/=10;
}
printf("%s位和是:%d.\n",a[i],sum);
}
}本回答被网友采纳
第2个回答  2013-04-09
#include <iostream.h>

#define n 10
int main()
{
int a[n];
int i = 0;
int NumGewei=0,Numshiwei=0,Numbaiwei=0,Numqianwei=0;
for (i=0;i<n;i++)
{
cin>>a[i];
}
for (i=0;i<n;i++)
{
NumGewei += (a[i]%10);
}
for (i=0;i<n;i++)
{
a[i] = a[i]/10;
Numshiwei += (a[i]%10);
}
for (i=0;i<n;i++)
{
a[i] = a[i]/10;
Numbaiwei += (a[i]%10);
}
for (i=0;i<n;i++)
{
a[i] = a[i]/10;
Numqianwei += (a[i]%10);
}
cout<<"个位数和:"<<NumGewei<<"十位数和:"<<Numshiwei<<"百位数和:"<<Numbaiwei<<"千位数和:"<<Numqianwei<<endl;
return 1;
}
//希望能帮上忙哈