任意输入一个整数,求它各个位数之和(C语言设计)

明天下午前告诉我

告诉你方法,很简单的就不写代码了。手机无力,首先定义一个累加变量sum,然后用输入的这个整数每次除以10,sum把除以10的余数累计起来,然后依次循环直到输入的整数为0就结束。
温馨提示:内容为网友见解,仅供参考
第1个回答  2014-04-09
#include<stdio.h>
int main()
{
int n,s=0;
while(1)
{
scanf("%d",&n);
s+=n;
if(getchar()=='\n')break;
}
printf("sum=%d\n",s);
return 0;
}

追问

键盘上输入任意整数x,编程计算x的每一位数字相加之和(忽略整数前的正负号)。如,输入12345,则由12345分离出1、2、3、4、5这五个数字,然后计算1+2+3+4+5=15,并输出15。

这题呢

追答#include<stdio.h>
int main()
{
int n,s=0;
scanf("%d",&n);
while(n)
{
s+=n%10;
n/=10;
}
printf("s=%d\n",s);
return 0;
}

追问

不对啊

怎么让他输入15=1+2+3+4+5这个形式表现出来

追答

怎么会呢?我测试过没问题。你再完整复制一次。

#include<stdio.h>
int main()
{
int n,s=0;
scanf("%d",&n);
if(n<0)n=-n;
while(n)
{
s+=n%10;
n/=10;
}
printf("s=%d\n",s);
return 0;
}

追问

最后输出要15=1+2+3+4+5这个形式

为什么是s+=n%10 n/=10

第2个回答  2014-04-09
#include <cstdio>
#include <iostream>

using namespace std;

int main()
{
char ch;
int ans=0;
int n;
scanf("%d",&n);
for (int &i=n;i>0;i/=10)
{
ans+=i%10;
}

cout<<ans;
return 0;
}
}追问

键盘上输入任意整数x,编程计算x的每一位数字相加之和(忽略整数前的正负号)。如,输入12345,则由12345分离出1、2、3、4、5这五个数字,然后计算1+2+3+4+5=15,并输出15。

怎么让他输入15=1+2+3+4+5这个形式表现出来

第3个回答  2014-04-09
//#include "stdafx.h"//vc++6.0加上这一行.
#include "stdio.h"
void main(void){

int n,sum=0;
printf("Type an integer...\nn=");
scanf("%d",&n);
while(n){
sum+=n%10;
n/=10;
}
printf("The result is %d.\n",sum);
}追问

是c语言不是c++

追答

这不是C吗?你在哪里学的C++是这样子?

追问

谢谢

本回答被提问者和网友采纳

任意输入一个整数,求它各个位数之和(C语言设计)
告诉你方法,很简单的就不写代码了。手机无力,首先定义一个累加变量sum,然后用输入的这个整数每次除以10,sum把除以10的余数累计起来,然后依次循环直到输入的整数为0就结束。

任意输入一个整数,求它各个位数之和和位数(C语言设计)
m=m+n;printf("\\n这个整数各个位数之和是%d.\\n",m);} 于由我定义的整型的n,所以只能输入小于等于9位的数,要得多你可以改哈!水平有限,可能不是很好...原谅哈好

输入一个正整数求不同数字之和的c语言
\/\/ 输入一个正整数 printf("请输入一个正整数: ");scanf("%d", &num);\/\/ 遍历整数中的每一位并相加 while (num > 0) { remainder = num % 10; \/\/ 获取最低位的数字 sum += remainder; \/\/ 加到求和变量上 num = num \/ 10; \/\/ 去掉最低位数字 } \/\/ 输出结果 printf...

C语言:从键盘上输入一个整数,计算整数的各位数字之和
int GetNumber(int n)\/\/用递归来实现很简单 { int sum=0;if(n\/10 != 0){ sum+=GetNumber(n\/10);} sum+= n%10;return sum;} int main(){ int n = 87943;int a=GetNumber(n);printf("%d\\n",a);return 0;}

C语言:输入一个正整数, 计算并显示出该数的各位数字之和.
输出该数的各位数字之和的源代码如下:include <stdio.h> int fun(int n){ int i;int sum=0;if(n>1000||n<0){ puts("输入的数字超出范围!"); \/\/ 错误信息提示 } else { for(i=2;i<n;i++) \/\/ 循环遍历n,取出因子,并进行累加 { if(0 == n%i){ sum+=i;} } } return...

c语言; 编写一个程序,计算任意输入的整数的各位数字之和?
void main(){ int a,sum=0;printf("请输入一个大于0的正整数~~");scanf("%d",&a);while(a!=0) \/\/循环结束的条件是 a等于 0 { sum+=a%10;\/\/ a%10 的作用是取a这个数的个位 比如 108除以10的余数是不是8 a\/=10;\/\/执行上一句代码之后还要把a的值 除以10吧 比如 我...

简单的C语言求解 从键盘输入一个整数,求其各位数字之和
void main(){ int i=10,k=0 ,sum=0,a;scanf("%d",&a); \/\/输入一个数 if(a<10)sum=a;else{do {k=a%i; \/\/取数的最后一位 sum+=k; \/\/求和 a=a\/10;} \/\/把最后一位去掉 while(a>=10); \/\/当条件成立循环上面的语句 sum+=a;} \/\/条件不成立执行这条...

c语言 求任意一个整数 各位数之和。。谢谢!
include<stdio.h> void main(){ int n,sum=0;printf("请输入任意一个整数:");scanf("%d",&n);while(n%10){ sum+=n%10;n=n\/10;} printf("其各个位数之和为%d\\n",sum);}

C语言程序设计:编写程序,输入一个正整数,统计该整数的位数并计算其各个...
int a, b, i, t;int k = 0, sum = 0;scanf("%d", &a); \/\/输入整数a t = a;if(a \/ 10 == 0){ k = 1;sum = a;printf("%d\\n", k);printf("%d\\n", sum);} else { while(a \/ 10 != 0){ a = a \/ 10; \/\/每除10,就有一位 k++;} printf("%d\\n", k...

C语言编程:输入一个整数,求各位数字之和..
include void main(){int a,i=0,sum=0;scanf("%d",&a);while(a){ sum+=(a%10);\/\/sum是个位数之和a\/=10;i++;\/\/i为位数}printf("%d位数,各位数字之和为%d\\n",i,sum);}

相似回答