Ⅰ 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
*/
(1)c语言正整数教程扩展阅读:
正整数,即大于0的整数,如,1,2,3…
0既不是正整数,也不是负整数(0是整数)。
负整数,即小于0的整数,如,-1,-2,-3…
知道正整数的一种分类办法是按照其约数或积因子的多少来划分的,比如仅仅有两个的(当然我们总是多余地强调这两个是1和其本身),就称之为质数或素数,而多于两个的就称之为合数。
Ⅱ c语言 正整数如何表示
在C语言中可以用unsignedint或unsigned short或unsigned char或unsigned long关键字来定义一个正整数变量。
unsignedint表示无符号整型。能表示数的范围为0~(2^16-1)(unsignedint占2字节,16位机系统,如TurboC)或0~(2^32-1)(unsignedint占4字节,32位机系统,如VisualC++)。
unsigned short表示无符号短整型。能表示数的范围为0~(2^16-1)。
unsigned char表示无符号字符型。能表示数的范围为0~(2^8-1)。
unsigned long表示无符号字符型。能表示数的范围为0~(2^32-1)。
举例如下:
unsignedinta=123;//定义一个无符号整型数a,并初始化为123
unsignedshortb=123;//定义一个无符号短整型数b,并初始化为123
unsignedcharc=123;//定义一个无符号字符型数c,并初始化为123
unsignedlongd=123;//定义一个无符号长整型数d,并初始化为123
注:具体选哪个关键字表示,就需要根据所需要表示整数的范围来进行选择。
Ⅲ C语言如何只能输入正整数
例子- -
main()
{
int a,b,c;
scanf("%d",&c);
if(c<=-1) /*如果输入的c小于等于-1,*/
printf("no");
else
b=c+1; /*否则 这里你自己搞*/
printf("%d",b) ;
}
Ⅳ C语言中正整数的定义int也包括了负整数!
int就可以定义正整数并包含负整数,无符号整数,没有负数的情况,使用unsignedint即可。
C语言通常使用int来定义整数(int是integer的简写)。int一般占用4个字节(Byte)的内存,共计32位(Bit)。
如果不考虑正负数,当所有的位都为1时它的值最大,为232-1=4,294,967,295≈43亿,这是一个很大的数,实际开发中很少用到,而诸如1、99、12098等较小的数使用频率反而较高。
(4)c语言正整数教程扩展阅读
int的左右及使用
int具有整数类型的项的值是它对应的数学整数。积分类型可以是无符号的(只能表示非负整数)或有符号(也能表示负整数)。
shortinta=10;
shortintb,c=99;
longintm=102023;
longintn,p=562131;
Ⅳ 用C语言处理正整数
main( )
{
long a,b,c,d,e,x;
scanf("%ld",&x);
a=x/10000;/*分解出万位*/
b=x%10000/1000;/*分解出千位*/
c=x%1000/100;/*分解出百位*/
d=x%100/10;/*分解出十位*/
e=x%10;/*分解出个位*/
if (a!=0) printf("there are 5, %ld %ld %ld %ld %ld\n",e,d,c,b,a);
else if (b!=0) printf("there are 4, %ld %ld %ld %ld\n",e,d,c,b);
else if (c!=0) printf(" there are 3,%ld %ld %ld\n",e,d,c);
else if (d!=0) printf("there are 2, %ld %ld\n",e,d);
else if (e!=0) printf(" there are 1,%ld\n",e);
}
你看看这个吧 我有点事 无法给你细看
Ⅵ C语言 编写一个程序,输入一个正整数,求出它是几位数。
/*功能:输入一个任意长度的正整数,求出它是几位数。*/
#include<stdio.h>
int main()
{
int number; int count = 0;//记录个数
scanf("%d", &number);
if (number == 0)
{
printf("number is %d\n",count+1);//0是一位数
} else
{
while (number != 0)
{
number = number / 10;
count++;
} printf("number is %d", count);
} return 0;
}
Ⅶ C语言 编写一个程序,输入一个正整数,求出它是几位数。
1、首先在打开的C语言软件窗口中,在Main函数的上方,写上阶乘函数的框架,如下图所示。
Ⅷ C语言 编写一个程序,输入一个正整数,求出它是几位数。
思路:求一个正整数n的位数可以先定义一个变量num,并初始化为0,依次把该整数n除以10,直到其为0为止,并且每除一次10,变量num的个数就自加1,最后num的值就是该整数n的位数。
参考代码:
#include<stdio.h>
intmain()
{
intn,num=0;
scanf("%d",&n);
while(n){
num++;
n/=10;
}
printf("%d ",num);
return0;
}
/*
输出:
123456
6
*/
Ⅸ C语言中正整数怎样表达
先用那个FILE 定义一个指针,打开你这个文件(fopen())
然后就是一个一个的选择看了,用三个整型(初始化为0)分别表示这三种数的个数。
Ⅹ C语言如何进行取整
C语言有以下几种取整方法: 1、直接赋值给整数变量。如: int i = 2.5; 或 i = (int) 2.5; 这种方法采用的是舍去小数部分,可以用于你的问题。 2、C/C++中的整数除法运算符“/”本身就有取整功能(int / int),而下面介绍的取整函数返回值是double。整数除法对正数的取整是舍去小数部分,可以用于你的问题。但是整数除法对负数的取整结果和使用的C编译器有关。 3、使用floor函数。floor(x)返回的是小于或等于x的最大整数。如: floor(2.5) = 2 floor(-2.5) = -3 4、使用ceil函数。ceil(x)返回的是大于x的最小整数。如: ceil(2.5) = 3 ceil(-2.5) = -2 floor()是向负无穷大舍入,floor(-2.5) = -3;ceil()是向正无穷大舍入,ceil(-2.5) = -2。floor函数可以用于你的问题。hyh的意见:int x,a,b,c,d;a=x/1000;b=x%1000/100;