Ⅰ 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;