c語言求整數的位數
① c語言怎麼算整數的位數
輸入一個不多於4位的正整數,求它的位數,並按逆序輸出各位數字,可以參考下面的代碼:
#include<stdio.h>
intmain()
{
intn,ans=0;
scanf("%d",&n);
printf("逆序輸出:");
while(n!=0)
{
intt;
t=n%10;
n/=10;
ans++;
printf("%d",t);
}
puts("");
printf("位數為:%d ",ans);//位數
return0;
}
(1)c語言求整數的位數擴展閱讀:
C語言函數列舉:
C語言asin()函數:求反正弦
C語言atan()函數:求反正切
C語言atan2()函數:求x/y的反正切值
C語言cos()函數:求餘弦
C語言cosh()函數:求雙曲餘弦
C語言log()函數:返回x的自然對數(以e為底的對數)
C語言ldiv()函數:求兩個數的商和余數(針對long類型)
C語言isupper()函數:判斷一個字元是否是大寫字母
C語言isspace()函數:判斷一個字元是否是空白符
② C語言求整數長度或多少位
十進制數字個數 和長度 有多種方法 算得。
下面用兩種方法計算。負數有個符號位,長度比位數多 m=1。
占內存的大小用sizeof(int) 可得,通常 32位機為4位元組,64位機為8位元組。
例如:
#include <stdio.h>
int main(){
int a=123456;
int n,m=0;
char s[60];
if (a<0) m=1;
sprintf(s,"%d",a);
n = strlen(s);
printf("a has digit %d length %d\n",n-m,n);
n=0;
while (1){
a = a/10;
n++;
if (a==0)break;
}
printf("a has digit %d length %d\n",n,n+m);
printf("int has %d bytes\n",sizeof(int) );
return 0;
}
③ 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語言調用函數求一個整數數的位數
#include<stdio.h>
int count = 1;
int calc(int num){
while (1 == 1) {
count++;
num /= 10;
if(num < 0){ //小於0的數就變成正數
num *= -1;
}
if (num < 10) {
break;
}
}
return count;
}
void main(){
int num = 0;
printf("請輸入一個數:");
scanf("%d",&num)
printf("數字%d是一個%d位數!",num,calc(num));
}
⑤ 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語言如何求一個整數的位數
因為c語言中整數除以整數結果是整數,所以一個整數除以10後的位數就減少1,所以通過while除10操作,直到結果為0,每除以一次10,該數位數加1,最後輸出的就是該數的位數。
⑦ 利用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語言 編寫一個程序,輸入一個正整數,求出它是幾位數。
思路:求一個正整數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
*/