C语言:从键盘上输入一个整数,计算整数的各位数字之和

C语言 从键盘上输入一个正整数,计算并输出该数的各位数字之和~

输出该数的各位数字之和的源代码如下:
#include
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 sum;
}
void main()
{
int n,sum;
printf("Input n: ");
scanf("%d",&n);
sum=fun(n);
printf("sum=%d
",sum);
}

扩展资料
1、输入的数字要是整数,并且要在规定范围内。
2、对输入的数要进行拆分,注意1和本身不能在求和之中。
3、可以使用循环对输入的数(n)遍历,如果n%i余为0,则表明能整除,次i则为因子。

#include
#include
main()
{
int n,m,sum;
printf("please input:");
scanf("%d",&m);
for(sum=0;m;m=m/10)
{
n=m%10;
sum=sum+n;
}
printf("sum is %d",sum);


}
大概想了下思路,你看看吧,不知道对错

#include <stdio.h>
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;
}

我想写了一个支持两百位的整数各个位相加:
#include <stdio.h>

int main ()
{
char num[200];
unsigned long long sum = 0;
printf("Please enter a integer: \n");
gets(num);
char *ptr = num;
while(*ptr)
{
sum += (*ptr - '0');
ptr++;
}
printf("sum = %lld \n", sum);
return 0;
}

#include "stdio.h"
#include "math.h"
void main() {
long int a,b,i,n=0;
int sum=0;
printf("Input the number:");
scanf("%ld",&a);
for(i=0;i<6;i++){
if(a/pow(10,i)>=1){
n++;
}
}
for(i=n-1;i>=0;i--){
b=a/pow(10,i);
a=a-b*pow(10,i);
sum+=b;
}
printf("%d\n",sum);
getch();
}

至于那么复杂吗?
123
3 2 1 Press any key to continue
#include "stdio.h"
main()
{
int num;
scanf("%d",&num);
while (num!=0)
{
printf("%d ",num%10);
num/=10;
}
}

把输入的数字保存在一个数组里,然后再逐个加起来

c语言题目:写出程序 要求从键盘上输入一个十到十万之间的整数,将其最...
答:include <stdio.h>int main(void){ int n,t,f; printf("Input n(int 9<n<100001)...\nn="); if(scanf("%d",&n)!=1 || n<10 || n>100000){ printf("Input error, exit...\n"); return 0; } for(t=n,f=1;t>9;f*=10,t/=10); printf("T...

用C语言编程从键盘输入一个正整数,判断其个位数是否为5,若是5则输出...
答:include <stdio.h> int main(){ int five;printf("输入一个整数:");scanf("%d",&five);while(five>10){ five = five%10;} if(five == 5)printf("yes");else printf("no");return 0;}

C 语言 从键盘上输入一个整数,分别输出8,16进制数的程序.
答:include"stdio.h"include"string.h"int main(){ int s;scanf("%d",&s);printf("%o\n",s);//8进制 printf("%x\n",s);//16进制 return 0;}

如何用c语音求从键盘上输入一个整数,求出它的阶乘。 如:6!
答:使用C语言从键盘上输入一个整数N。然后设置一个累乘,并且初始化初值为1。再使用一个循环,从2~N做乘法,累乘完成以后,输出结果就可以了。

C语言设计问题 从键盘上出入一个整数,将其加上10以后,再输出它的值_百...
答:include<stdio.h> int main(){ int iNum=0;printf("请输入一个整型变量iNum:");scanf("%d\n",&iNum);iNum+=10;printf("iNum的输出值为:%d\n",iNum);return 0;}

从键盘输入一个小于10000的正整数,计算其各位数字之和
答:已经编译运行确认:include <conio.h> include <stdio.h> void main(){ int i,num,result=0;printf("请输入一个小于10000的正整数: \n");scanf("%d",&num);while(1){ if((num>0)&&(num<10000)){ while(num/10){ result+=num%10;num/=10;} result += num;break;} else { prin...

简单的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语言:由键盘任意输入一个整数(变量zs)、一个实数(变量
答:代码编写示例如下:include<stdio.h>int main(){ int zs; double ss; printf("请输入1个整数和1个实数,以分号间隔:"); scanf("%d;%lf",&zs,&ss); double sh=ss/zs; printf("%.8f",sh); return 0;}运行截图:...

用C语言编写 从键盘输入一个整数x,输出它所有的约数。(即能被它整除...
答:include <stdio.h> int main(){ int x,i;scanf("%d",&x);for(i=1;i<x;++i)if(x%i==0)printf("%d ",i);return 0;}

C语言编程 从键盘输入一个小于1000的正整数,并读入该值,然后输出用语言...
答:include <stdlib.h>#include <stdio.h>using namespace std;int n;int main(){scanf("%d", &n);int v = n/100; if (v == 9) printf("Nine hundred");else if (v == 8) printf("Eight hundred");else if (v == 7) printf("Seven hundred");else if (v == 6) printf("...

IT评价网,数码产品家用电器电子设备等点评来自于网友使用感受交流,不对其内容作任何保证

联系反馈
Copyright© IT评价网