① c語言程序設計:編寫程序,輸入一個正整數,統計該整數的位數並計算其各個數位上的數字之和。要求每行講
#include<stdio.h>/*包含頭文件*/
voidmain()/*主函數*/
{
intn,sum=0,m=0;/*定義整形函數,用n代替輸入的數,sum為和,m代表位數*/
printf("請輸入一個整數: ");/*輸入一個整數*/
scanf("%d",&n);/*輸入一個整數*/
while(n!=0)/*while語句*/
{
sum+=n%10;/*將n的第一位賦予sum*/
n/=10;/*把n的最右邊一位去掉*/
m++;/*位數增加1*/
}
printf("整數的位數是%d ",m);/*輸出*/
printf("整數的各位數的和是%d ",sum);/*輸出*/
}
PS :::不懂還可繼續問。。。
② 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語言怎麼計算一個數有多少位
C語言怎麼計算一個數有多少位的方法:
輸入待計算的數x
定義一個數位的變數int n=0;
循環,x每次縮小10倍,n=n+1; 最終x會變成0,循環結束
輸出n值
代碼:
#include<stdio.h>
voidmain()
{
intx,m,n=0;
printf("inputx:");scanf("%d",&x);
m=x;//備份原數,供輸出用
do{
n++;
x/=10;
}while(x>0);
printf("%d是%d位數 ",m,n);
}
④ 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
*/
(4)c語言怎麼統計整數位數擴展閱讀:
正整數,即大於0的整數,如,1,2,3…
0既不是正整數,也不是負整數(0是整數)。
負整數,即小於0的整數,如,-1,-2,-3…
知道正整數的一種分類辦法是按照其約數或積因子的多少來劃分的,比如僅僅有兩個的(當然我們總是多餘地強調這兩個是1和其本身),就稱之為質數或素數,而多於兩個的就稱之為合數。
⑤ 怎樣用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語言統計一個整數的位數求糾錯,在線等
while後多了一個分號,輸入非0的數,進入了死循環,修改後如下:
#include<stdio.h>
#include<stdlib.h>
intmain()
{
intcount,number;//count記錄整數number的位數
count=0;
printf("Enteranumber:");//輸入提示
scanf("%d",&number);
if(number<0)number=-number;//將輸入的負數轉換為正數
while(number!=0){//多了一個分號,輸入非0的數,進入了死循環
number=number/10;
count++;
}
printf("Itcontains%ddigits. ",count);
return0;
}
⑦ 利用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語言怎樣用函數統計正整數的數量
#include <stdio.h>
int func(int *arr,int n)
{
int i,count=0;
for(i=0;i<n;i++)
if(arr[i] > 0)
count++;
return count;
}
int main()
{
int a[10],i;
for(i=0;i<10;i++)
scanf("%d",&a[i]);
printf("正整數的數量為:%d個\n",func(a,10));
return 0;
}
示例運行結果:
-1 -2 4 5 6 -9 -8 10 -3 0
正整數的數量為: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;
}
⑩ 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;
}