1. 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;
}
2. 用C語言編輸入一個整數輸出其位數
獲取輸入數據比較簡單,用scanf即可。
下面給兩個判斷整型數據位數的函數:
1.
直接求int類型數據位數:
int
getlength(const
int
tmp)
{
int
count=0;
while(
tmp/10
)
count++;
return
count;
}
2.
利用字元數組來變通的獲取:
int
getlength(const
int
tmp)
{
char
str[16];
memset(str,
0,
sizeof(str));
sprintf(str,
"%d",
tmp);
return
strlen(str);
}
3. 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
*/
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;
}
5. 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;
}
6. 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));
}
7. C語言.輸入一個整數,求出該整數的個位數。 源代碼:
來個簡單的,
#include<stdio.h>
#include<stdlib.h>
#include<limits.h>
intmain(intargc,char**argv)
{
inta;
unsignedintdigits=1;
printf("Inputaninteger:");
scanf("%d",&a);
if(a<0)a=(a==INT_MIN)?INT_MAX:-a;
while(a>9){
a/=10;
digits++;
}
printf("Theinteger%dhas%ddigits. ",a,digits);
return0;
}
8. c語言 輸入任意一個整數,判斷其是幾位數
不會C語言。給出幾個演算法,代碼是fortran的,供參考。
第一種,用整數除法。對於整數a,連續用10除,直到商為零。除法的次數,即為位數。
這個演算法對於正負整數和零都能獲得正確的結果。
9. C語言的一道題,從鍵盤上輸入一個正整數,求他的位數,並列印出每一位的值
有兩種方法 一種是樓上的演算法 用除10取整得到每一位的值 不過這里改一下void main(){int n;scanf("%d",&n);while(n>0){printf("%d\t",n);n=n/10;}} 另一種方法比較取巧,直接把輸入的存儲空間定義為字元類型,然後直接輸出就行了int i=0;char s[20];scanf("%s",s);while(!eof){printf("%c\t",s[i]);i++;}
10. c語言怎麼輸入一個數後並輸出這個數的最後一位數
#include<stdio.h>
int main()
{
int n;
scanf("%d",&n);
printf("%d",n%10);
}