『壹』 c語言怎麼判斷,整數的位數
#include<stdio.h>
#include<string.h>
voidmain()
{
charstr[1000];
inti,n;
gets(str);
n=strlen(str);
for(i=0;i<n;i++)
{
if(str[i]<48||str[i]>57||(int)str[0]==48)
{
printf(" 輸入有誤,不是整數。 ");
break;
}
elseif(i>=n-1)
printf(" 輸入的整數是%d位數。 ",n);
}
}
運行示例:
『貳』 c語言判斷一個整數的位數
#include <stdio.h>
int main(void)
{
int i, a;
int s = 0;
printf("輸入一個整數:");
scanf("%d", &i);
do
{
i = i / 10;
++s;
} while (i != 0);
printf("該整數的位數為 %d ", s);
return 0;
}
『叄』 用C語言寫個程序,要求輸入一個整數,可以判斷整數的位數,和各位數的和
#include<stdio.h>
#include<string.h>
intmain()
{
longintn;
charch[20];
inti,len,sum=0;
scanf("%ld",&n);
if(n<0)
n=-n;
sprintf(ch,"%ld",n);
len=strlen(ch);
for(i=0;i<len;i++)
sum+=ch[i]-'0';
printf("%d是一個%d位數的整數 ",n,len);
printf("各位數的和=%d ",sum);
return0;
}
示例運行結果:
12345678
12345678是一個8位數的整數
各位數的和= 36
『肆』 c語言中如何判斷一個長整數是多少位
將要判斷的數不停的除以10,直到該數等於0為止,每次除10的同時表示位數的變數加1。
程序示例:
#include<stdio.h>
main()
{ long n,m;
int i;
scanf("%ld",&n);
for(i=0,m=n;m!=0;m/=10,i++);
if(n==0) i=1;
printf("%d\n",i);
getch();
}
『伍』 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語言中如何判斷一個數的位數
C語言中判斷一個數的位數:
#include<stdio.h>
voidmain()
{
voidnum(inta);
longa;
scanf("%ld",&a);
num(a);
}voidnum(inta)
{
longb=0;
inti;
for(i=0;a>0;a/=10,i++)
{
b=(b*10)+a%10;
}
printf("%d位的,逆序數=%ld ",i,b);
}
『柒』 c語言 輸入任意一個整數,判斷其是幾位數
不會C語言。給出幾個演算法,代碼是fortran的,供參考。
第一種,用整數除法。對於整數a,連續用10除,直到商為零。除法的次數,即為位數。
這個演算法對於正負整數和零都能獲得正確的結果。
『捌』 C語言中怎樣判斷一個數是幾位
思路:因為整數除以整數的結果是整數,所以一個數每除以10,位數就少1,所以可以採用while循環依次除以10,直到結果為0,每除以10位數加1。