C语言 从键盘上输入一个正整数,计算并输出该数的各位数字之和
#include
int main()
{
int n,sum=0;
printf("请输入一个整数:");
scanf("%d",&n);
while(n)
{
sum = sum+n%10;
n /= 10;
}
printf("%d",sum);
}
#includeint main(){int a,s=0; scanf("%d",&a); while(a>0) {s+=a%10; a/=10; }; printf("%d
",s); return 0; }
输出该数的各位数字之和的源代码如下:
#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 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则为因子。
思路:定义变量a接受键盘输入和变量sum保存a的各位数字之和,依次对a进行除10操作,并把a除10的余数加到sum中,直到a为0为止,sum最终的值就是a个位数字之和。
参考代码:
#include<math.h>
#include<stdio.h>
int main()
{
int a,sum=0;
scanf("%d",&a);
while(a){
sum+=a%10;
a/=10;
}
printf("%d
",sum);
return 0;
}
/*
输出:
12345
15
*/
ok了,细心别生气 哈哈
#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();
}
#include<stdio.h>
#include<math.h>
main()
{
int a,sum=0;
scanf("%d",&a);
while(a!=0)
{
sum+=a%10;
a=a/10;
}
printf("%d\n",sum);
return 0;
}
//我用的编译器是6.0
罗菲依克:[答案] #include int main(){int a,b,i,t;int k = 0,sum = 0;scanf("%d",&a); //输入整数at = 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,就有...
察哈尔右翼前旗13473296146: C语言 从键盘上输入一个正整数,计算并输出该数的各位数字之和 - ?
罗菲依克: 思路:定义变量a接受键盘输入和变量sum保存a的各位数字之和,依次对a进行除10操作,并把a除10的余数加到sum中,直到a为0为止,sum最终的值就是a个位数字之和. 参考代码: #include#include int main() { int a,sum=0; scanf("%d",&a); while(a){ sum+=a%10; a/=10; } printf("%d\n",sum); return 0; } /* 输出: 12345 15 */
察哈尔右翼前旗13473296146: C语言 编写程序,从键盘输入一个正数,计算该数的平方根. - ?
罗菲依克: # include <stdio.h> #include<math.h> int main() {double x;scanf("%lf",&x);printf("%lf\n",sqrt(x));return 0; }
察哈尔右翼前旗13473296146: C语言程序设计:编写程序,输入一个正整数,统计该整数的位数并计算其各个数位上的数字之和. - ?
罗菲依克: #include <stdio.h>int main() {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++; ...
察哈尔右翼前旗13473296146: 由键盘任意输入一个正整数,要求:判断并显示它是几位数且计算并显示该数的各位数字之和.用c语言编程 谢谢 - ?
罗菲依克: #include<stdio.h> #include<string.h> void main() {int i,j,sum=0;char a[100];printf("ÇëÊäÈëÕûÊý£º\n");gets(a);for(i=0,j=0;a[i]!='\0';i++){j++;sum+=a[i]-'0';}printf("%sÊÇ%dλÊý,¸ÃÊýµÄ¸÷λÊý*ÖÖ®ºÍ%d\n",a,j,sum); }
察哈尔右翼前旗13473296146: 用c语言编写“从键盘上输入一批任意数量的正整数,统计其中不大于100的数值个数” - ?
罗菲依克: #include <stdio.h> int main (void) { int n = 0; int num = 0; char ch; printf ("End to input \'a\'.\n"); printf ("Please input number :\n"); do { while ((scanf ("%d", &num)) == 1) { if (num <= 100) n++; } ch = getchar(); }while (ch != 'a'); printf ("%d \n", n); putchar (10); return 0; }满意请采纳
察哈尔右翼前旗13473296146: C语言题目: 从键盘输入一个正数,计算该数的各位数字之和并输出 - ?
罗菲依克: #include <stdio.h> main() {int n,sum=0; scanf("%d",&n); do { sum=sum+n%10; n=n/10; }while(n); printf("%d\n",sum); }
察哈尔右翼前旗13473296146: 哪个高手告诉我用C语言怎么编“从键盘上输入一个正整数,计算该数的各位数字之积并输出” - ?
罗菲依克: #include<stdio.h> void main() { int a,s; s=1; printf("请输入一个整数"); scanf("%d",&a); while (a>0) { s=s*(a % 10); a=a/10; } printf("a=%d",s); }
察哈尔右翼前旗13473296146: C语言程序,从键盘输入一个正整数N,求N的阶乘的素数展示.(例如:输入5,则求出:5!=120=2*2*2*3*5) - ?
罗菲依克:[答案] #include
察哈尔右翼前旗13473296146: 用C语言编写程序从键盘输入一个正整数数n,输出n,是什么情况? - ?
罗菲依克: #include <stdlib.h> #include <stdio.h> #include <string.h> void main() { int a; char str1[200]; printf("Please input a integer: "); scanf("%d", &a); itoa(a, str1, 10); printf("The length of integer=%d", strlen(str1)); }C语言实现如下:#include<...