利用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;
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-03-30

将此段文字复制到编码区即可。

#include "stdio.h"

int main()
{
int number,i=0,sum=0;
printf("please input a number:");
scanf("%d",&number);
while(number!=0)
{
sum+=number%10;
number/=10;
i++;

}
printf("sum=%d\n",sum);
printf("位数=%d\n",i);
return 0;
}

利用C语言还可以作为工作系统设计语言,编写系统应用程序、三维、二维图形和动画,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。其具体应用比如单片机以及嵌入式系统开发。

C语言的应用范围广泛,具备很强的数据处理能力,不仅仅是在软件开发上,而且各类科研都需要用到C语言,

本回答被网友采纳
第2个回答  2012-03-06
你是要求一个整数各个位上的数字大小然后求他们的总和么?
举个例子,X=312
当用X%10=2,%是求余数,312除以10得31余2,所以利用X%10得个位的大小就是2
当用X/10%10,X/10得31就是百位和十位的数字,通过31%10等于31/10的3余1,所以31%10得1也就是十位的大小。
当用X/100就直接得百位的大小了。
你分别将三个位的数值存于三个变量,然后变量相加就行。
第3个回答  2012-03-06
#include "stdio.h"

int main()
{
int number,i=0,sum=0;
printf("please input a number:");
scanf("%d",&number);
while(number!=0)
{
sum+=number%10;
number/=10;
i++;

}
printf("sum=%d\n",sum);
printf("位数=%d\n",i);
return 0;
}追问

n请问umber/=10;什么意思啊?

追答

umber/=10;就是number=number/10;它的意思是说:
消掉各个位数上的数字。
比如number=123 那么umber/=10之后,number就变成了12,个位上的3就消掉了。如此循环,直到
number等于0为止。

本回答被提问者采纳
第4个回答  2012-03-06
#include <STDIO.H>
int main()
{
int a,i,s=0;
scanf("%d",&a);
for (i=0;a>0;i++)
{
s=s+a%10;
a=a/10;
}
printf("%d %d\n",s,i);
return 0;
}
相似回答