① c语言程序设计:编写程序,输入一个正整数,统计该整数的位数并计算其各个数位上的数字之和。要求每行讲
#include<stdio.h>/*包含头文件*/
voidmain()/*主函数*/
{
intn,sum=0,m=0;/*定义整形函数,用n代替输入的数,sum为和,m代表位数*/
printf("请输入一个整数: ");/*输入一个整数*/
scanf("%d",&n);/*输入一个整数*/
while(n!=0)/*while语句*/
{
sum+=n%10;/*将n的第一位赋予sum*/
n/=10;/*把n的最右边一位去掉*/
m++;/*位数增加1*/
}
printf("整数的位数是%d ",m);/*输出*/
printf("整数的各位数的和是%d ",sum);/*输出*/
}
PS :::不懂还可继续问。。。
② c语言里怎么求任意正整数的位数
其实不用循环也可以做到,对其求以10为底的对数,然后取整数部分再加1,就是这个整数的位数.
下面是代码:
#include<stdio.h>
#include<math.h>
void main()
{
int n;
printf("please input an integer:");
scanf("%d",&n);
printf("%d的位数是%d\n",n,(int)log10(n)+1);
}
③ C语言怎么计算一个数有多少位
C语言怎么计算一个数有多少位的方法:
输入待计算的数x
定义一个数位的变量int n=0;
循环,x每次缩小10倍,n=n+1; 最终x会变成0,循环结束
输出n值
代码:
#include<stdio.h>
voidmain()
{
intx,m,n=0;
printf("inputx:");scanf("%d",&x);
m=x;//备份原数,供输出用
do{
n++;
x/=10;
}while(x>0);
printf("%d是%d位数 ",m,n);
}
④ C语言 编写一个程序,输入一个正整数,求出它是几位数。
求一个正整数n的位数可以先定义一个变量num,并初始化为0,依次把该整数n除以10,直到其为0为止,并且每除一次10,变量num的个数就自加1,最后num的值就是该整数n的位数。
#include <stdio.h>
int main()
{
int n,num=0;
scanf("%d",&n);
while(n){
num++;
n/=10;
}
printf("%d ",num);
return 0;
}
/*
输出:
123456
6
*/
(4)c语言怎么统计整数位数扩展阅读:
正整数,即大于0的整数,如,1,2,3…
0既不是正整数,也不是负整数(0是整数)。
负整数,即小于0的整数,如,-1,-2,-3…
知道正整数的一种分类办法是按照其约数或积因子的多少来划分的,比如仅仅有两个的(当然我们总是多余地强调这两个是1和其本身),就称之为质数或素数,而多于两个的就称之为合数。
⑤ 怎样用C语言判断一个整型数的位数
代码如下:
#include<stdio.h>
int main()
{
int a,b;
int i;
printf("请输入一个数字:");
scanf("%d",&a);
b=a;
for(i=0;a>1;i++)
{
a=a/10;
}
printf("%d是%d位数 ",b,i);
}
(5)c语言怎么统计整数位数扩展阅读:
思路详解:
在C语言中,经常会用到以整数相除来确定一个整形数字的每一位的具体数字是多少,同理,此处可用整数相除来判断一个数的位数。
首先,使用scanf函数获取这个数字的值,且赋给变量b,作一个备份。
接着,确定核心思路为,当一个数整除10,第一次结果为1时,这个数是一个个位数。因而,以其作为循环内的主体。
得到了for(i=0;a>1;i++) a=a/10; 这样的代码,最后,输出结果即可。
⑥ c语言统计一个整数的位数求纠错,在线等
while后多了一个分号,输入非0的数,进入了死循环,修改后如下:
#include<stdio.h>
#include<stdlib.h>
intmain()
{
intcount,number;//count记录整数number的位数
count=0;
printf("Enteranumber:");//输入提示
scanf("%d",&number);
if(number<0)number=-number;//将输入的负数转换为正数
while(number!=0){//多了一个分号,输入非0的数,进入了死循环
number=number/10;
count++;
}
printf("Itcontains%ddigits. ",count);
return0;
}
⑦ 利用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;
}
⑧ c语言怎样用函数统计正整数的数量
#include <stdio.h>
int func(int *arr,int n)
{
int i,count=0;
for(i=0;i<n;i++)
if(arr[i] > 0)
count++;
return count;
}
int main()
{
int a[10],i;
for(i=0;i<10;i++)
scanf("%d",&a[i]);
printf("正整数的数量为:%d个\n",func(a,10));
return 0;
}
示例运行结果:
-1 -2 4 5 6 -9 -8 10 -3 0
正整数的数量为:4个
⑨ c语言 输入一个整数 统计该整数的位数
#include<stdio.h>
voidmain(void)
{
intnum,digits=1;
printf("Inputanumber:");
scanf("%d",&num);
printf("Number%dhas",num);
while(num/=10)++digits;
printf("%ddigits. ",digits);
return;
}
⑩ c语言 输入一个整数 统计该整数的位数
#include<stdio.h>
voidmain(void)
{
intnum,digits=1;
printf("Inputanumber:");
scanf("%d",&num);
printf("Number%dhas",num);
while(num/=10)++digits;
printf("%ddigits. ",digits);
return;
}