① 编写c语言程序:计算一个正整数的各个位的数字之和
我用C++,还回答你计算一个正整数,判断是几位数,求各个位的数字之和
int
n,sum=0,r,num=0;
printf("请输入任意一个整数:");
scanf("%d",&n);
do
{
r=n%10;
sum+=r;
n=n/10;
num+;
}
while(n!=0);
printf("是一个%d
位数,各个位的数字之和是%d\n",num,sum);
② C语言求解:输入一个正整数,求各个位的整数之和
直接上代码,如下:
#include <stdio.h>
int main()
{
int num = 0;
int s = 0;
int i = 0;
scanf("%d",&num);
while(num)
{
s += num%10;
num = num/10;
i++;
}
printf("数字个数为%d,各个数相加为%d
",i,s );
return 0;
}
③ 我想知道怎么用C语言解决输入一个数字求各位数字相加的和
楼主,不用循环似乎不行,要简单可以使用字符数组来接收输入的数字再求和。
void main()
{
char c[111];
int i=0;
int a=0;
scanf("%s",c);//输入一个数字,在111位之内,还想输入得更大,请把数组改大。
while(c[i]!='\0') //判断是否读到字符串的结尾。
{a=a+(c[i]-'0'); //c[i]指定的字符减去字符'0'就是相关的整型数字,比如
c[i]的字符为1,则'1'-'0'就得到整数1。然后求和。
i++;}
printf("%d",a);
system("pause");
}
④ C语言如何求一个整数的各个位数之和
先举个求3位整数的个十百位和
main()
{
int
a,b,c,x;
.
scanf("%d",&x);/*输入一个3位整数*/
a=x%10;
/*求各位数*/
b=x/10%10;
/*求十位数*/
c=x/100;
/*求百位数*/
printf("%d各个位数和为%d",x,a+b+c);
}
注:
这是手机打的是全角,要自己输一遍。
⑤ 输入一个数 求各个数位之和 C语言
看来你是初学者,这个很简单,不直接告诉你程序,告诉你方法,你自己编。
输入一个数后,将其模10运算,即可得到个位数,继续模10,即可得到十位数,再来两次,把这四个数相加,就是你想要的结果。
还不会,就补充提问下,我把程序贴上来。
⑥ C语言怎么求出各个位数的和
void mian()
{
printf("请输入被处理的数:\n");
char b[60];
scanf("%s",&b);
int sum=0,temp=0;
int i=0;
for(i=0;b[i]!='\0';i++)
{
temp = b[i]-48;
sum=sum+temp;
}
printf("各位之和为:%d",sum);
}
编程思想:将数字当做每一位是一个字符的字符串存入到数组b[]中,然后取该数组中的每一个字符,直至到字符串结束(结束位'\0')。0作为字符输入后存在计算机中是48,所以取出字符‘0’,然后用它的值48减去48,就可以得到0。1、2、3等都是这个原理。
如果有不明白的地方联系我就可以了。
⑦ C语言计算位数和各位数字之和
问题很多!首先是对函数pow(double
x,double
y)使用有误,函数原型为double
pow(double
x,double
y),返回xy的值,你用他来处理整型数据肯定不行,强制转换时是要出大问题滴!
第二,计算位数和的方法不对,不能处理只有一位数的整数。
第三,还是我来写一个吧,仅供参考!
#include
<stdio.h>
#include
<stdlib.h>
int
main()
{
int
num,
t,
b,
sum
=
0;
scanf("%ld",&num);
t
=
num;
b
=
0;
while
(t
>
0)
{
b++;
t
/=
10;
}
while
(num
>
0)
{
sum
+=
num
%
10;
num
/=
10;
}
printf("这是个%d位数\n",
b);
printf("%d\n",
sum);
system("pause");
return
0;
}
⑧ C语言编程:输入一个整数,求各位数字之和..
求整数各位和,将整数各个位分离出来的方法(除10取模)很常用。
函数如下
int intsum(int n)
{
int sum = 0;
while(n) //不断分离最低位
{
sum += n%10;
n /= 10;
}
return sum;
}
⑨ C语言中求任意一个数各个位数相加之和的程序设计
#include <stdio.h>main(){ int n,s=0;
scanf("%d",$n);
while(n)
{ s+=n%10;
n/=10;
} printf("和为:%d",s);}
⑩ c语言求所有位数上的数字之和
#include <stdio.h>
int main(int argc, char **argv)
{
int a;
int sum = 0; //这是各位数的和
int NumWidth =0;//这是位数和
scanf("%d",&a);
while(a != 0)
{
sum += a%10 ; //求余可以得到这个数个位上的数字,然后把它加到sum中
a /= 10; //把这个数字除以10,然后再求余,可以得到10位
NumWidth ++;//每次循环,就可以得到位数。
}
printf("the number you input width= %d, sum = %d",NumWidth,sum);
return 0;
}