从键盘上输入任意一个整数x,编程计算x的每一位数字相加之和,用C语言编写,下面我编写的程序哪错了

例如,输入x为1234,则分离出1,2,3,4四个数字,然后计算1+2+3+4=10,并输出10,

#include <stdio.h>
#include <stdlib.h>
void main()
{
int n=0;
while("getchar()"!="\n")
{
n+=getchar();

}
printf("%d",n);
system("pause");
}

#include <stdio.h>
#include <stdlib.h>
void main()
{
int n=0,ch;
while((ch=getchar())!='\n')   //用ch保存getchar接收到的输入字符ascii码
{
    n+=(ch-'0');     //-'0' 是ascii码转数字

}
printf("%d",n);
system("pause");
}

55555
25请按任意键继续. . .
Press any key to continue

温馨提示:内容为网友见解,仅供参考
第1个回答  2013-07-05
#include <stdio.h>
#include <stdlib.h>
void main()
{
int n=0;
char c[10] = {0};
while((c[0] = getchar())!='\n')//因为你getchar 获得的是char类型的 所以你必须转换为int 
{

n+=atoi(c);

}
printf("%d",n);
system("pause");
}

第2个回答  推荐于2018-03-14
#include <stdio.h>
#include <stdlib.h>
void main()
{
    int n=0,x;
    scanf("%d",&x);
    for(n=0;x;x/=10)
    {
        n+=x%10;
    }
    printf("%d",n);
    system("pause");
}

本回答被网友采纳
第3个回答  2013-07-05




#include <stdio.h>
#include <stdlib.h>
int main()
{
    int n=0;
    char ch;

    while((ch=getchar())!='\n')
    {
        n+=ch-'0';
    }
    printf("%d\n",n);
    system("pause");
}

追问

ch-'0'是什么意思

追答

ch为char类型,假设是'6'ch-'0'等于6,也就是通常说的六.

本回答被提问者采纳
第4个回答  2013-07-05
#include<iostream>
using namespace std;
void main(){
int n;
int a;
int sum=0;
cin>>n;
while(n!=0){
a=n%10;
cout<<a<<endl;
sum+=a;
n/=10;
}
cout<<sum<<endl;
}

...输入一个4位数X,编程计算X的每一位数字相加之和(忽略整数前的正负号...
} printf("%s的每一位数字相加之和为%d\\n",s,sum);}

...编写程序求一个整数各位数字之和。 要求: 1) 输入一个整数。 2...
int num,sum;printf("请输入一个整数:");scanf("%d",&num);sum=show(num);printf("各位数之和的结果为:%d\\n",sum);} \/*方法二用数组做的,做法可能过于复杂,不要建议,有好的方法大家分享*\/ include <stdio.h> void main(){ int value[10];int num;printf("请输入一个整数:");sc...

...10分)从键盘任意输入一个4位数x,编程计算x的每一
int main(void){ cout<<"Enter a integer number(1000~9999):"<<endl; int val; cin>>val; int sum=0; sum=val\/1000+(val%1000)\/100+(val%100)\/10+(val%10); cout<<val<<"每位数之和为:"<<sum<<endl; return 0;}

c语言简单求和,编写程序:输入两个数,求两个数的和
利用C语言编写一个求两数相加的和的编程思想和方法如下:1.首先需要定义三个变量a,b,c,两个为相加的数,第三个为相加后得到的和。2.然后使用scanf()语句接收从键盘输入的两个数,为变量a,b赋值。3.接着进行a和b的加法运算,将结果赋值给变量c。4.最后使用printf()语句将计算结果显示在屏幕上...

c语言 编程。 整数各位数重组构成的最大值与最小值
include<string.h>void main(){char s[10],i,j,t,k;printf("输入一个整数(不大于十位):\\n");scanf("%s",&s);k=strlen(s);for(i=0;i<k;i++){for(j=0;j<=i;j++)if(s[i]>s[j]){t=s[i];s[i]=s[j];s[j]=t;}}printf("Max=%s\\n",s);printf("Min=");...

c++的编程。是基础的但是我不会。谢谢大佬们
include<stdio.h> include<math.h> int main(){ int n,n1,s=0;scanf("%d",&n);for(n1=n=abs(n);n;n\/=10)s+=n%10;printf("input data is:%d\\n",n1);printf("The sum of the total bit is %d\\n",s);return 0;}

c语言编程
题目:输入三个整数x,y,z,请把这三个数由小到大输出。1.程序分析:我们想办法把最小的数放到x上,先将x与y进行比较,如果x〉y则将x与y的值进行交换, 然后再用x与z进行比较,如果x〉z则将x与z的值进行交换,这样能使x最小。2.程序源代码:main(){int x,y,z,t;scanf(“%d%d%d“,&x,&y,&z);if...

如何学习C语言编程
请注意”main”函数是一个int类型的函数,也就是说当函数结束时需要返回一个整数。如果返回0则表示程序正确的执行了,其他数字表示程序运行时发生了错误。尝试编译这段程序。把上面的代码输入到你的代码编辑器中,然后保存为”*。c”文件。 用你的编译器编译它, 一般来说点击Build或Run按钮即可。要养成写注释的习惯...

求C语言 入门编程的 程序代码 急!急!急!
题目:输入三个整数x,y,z,请把这三个数由小到大输出。 1.程序分析:我们想办法把最小的数放到x上,先将x与y进行比较,如果x>y则将x与y的值进行交换, 然后再用x与z进行比较,如果x>z则将x与z的值进行交换,这样能使x最小。 2.程序源代码: main() { int x,y,z,t; scanf("%d%d%d",&x,&y,&z...

C语言的两个数相加怎么写?
int a,b,c;scanf("%d%d",&a,&b); \/\/输入a,b c=a+b; \/\/两数相加给c printf("%d",c); \/\/输出c C语言是一门通用计算机编程语言,应用广泛。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。尽管...

相似回答