當前位置:首頁 » 編程語言 » c語言求一個不多於五位的數
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言求一個不多於五位的數

發布時間: 2022-03-30 19:28:16

A. c語言 給一個不多於5位的正整數 用C語言寫出

不對的原因,主要是if條件語句應該是用「==」而不是「=」,這是判斷,不是賦值。其它的錯誤,scanf_s("%d",&a)改成scanf("%d",&a),printf用錯了,printf列印應該是一個佔位符對應一個要輸出的內容,就是你代碼中%d對應一個輸出。

修改後的代碼:

#include<stdio.h>

int main()

{

int a, b, c, d, e, f, w;

printf("輸入一個不多於五位的整數:");

scanf("%d",&a);

//第一問,求出它是幾位數

b = 10000 - a;

c = 1000 - a;

d = 100 - a;

e = 10 - a;

f = 0 - a;

while (a < 0 || a > 99999)

printf("輸入錯誤,請重新輸入 ");

if (b < 0)

{

printf("a是五位數 ");

w = 5;

}else if (c < 0){

printf("a是四位數 ");

w = 4;

}else if (d < 0){

printf("a是三位數 ");

w = 3;

}else if (e < 0){

printf("a是兩位數 ");

w = 2;

}else if (f < 0){

printf("a是個位數 ");

w = 1;

}else

printf("輸入錯誤,請重新輸入 ");

//第二問,分別輸出每一位數字

if (w == 5)

printf("%d %d %d %d %d ", a / 10000, a / 1000 % 10, a / 100 % 10, a / 10 % 10, a % 10);

if (w == 4)

printf("%d %d %d %d ", a / 1000 % 10, a / 100 % 10, a / 10 % 10, a % 10);

if (w == 3)

printf("%d %d %d ", a / 100 % 10, a / 10 % 10, a % 10);

if (w == 2)

printf("%d %d ", a / 10 % 10, a % 10);

if (w == 1)

printf("%d ", a % 10);

//第三問,按逆序輸出各位數字

if (w == 5)

printf("%d %d %d %d %d ", a % 10, a / 10 % 10, a / 100 % 10, a / 1000 % 10, a / 10000);

if (w == 4)

printf("%d %d %d %d ", a % 10, a / 10 % 10, a / 100 % 10, a / 1000 % 10);

if (w == 3)

printf("%d %d %d ", a % 10, a / 10 % 10, a / 100 % 10);

if (w == 2)

printf("%d %d ", a % 10, a / 10 % 10);

if (w == 1)

printf("%d ", a % 10);

}

修正後的代碼執行如下:

B. C語言編程:給一個不多於5位的正整數,

不多於五位的正整數,包括一位數到五位數,所有的數值。

即[1,99999].

以下代碼,功能為獲取一個不多於五位的正整數並輸出。

intmain()
{
intn;
srand(time(NULL));
printf("%d",rand()%99999+1);
}

C. C語言題目) 給一個不多於5位的正整數,要求:

沒看懂你想問什麼,就解釋一下你的備注提問的問題吧
1、int a[10]的意思是定義一個長度為10的整型向量,它可以存儲10個整型的數值
2、這里int一個sum是為了下面用來計數,所以先將它賦值為0
3、這些東西是for循環裡面的控制變數,總共有三個,用分號隔開。第一個就是分好前面的,表示循環起始條件是從i=0開始,兩個分號中間的就是循環結束條件,因為不用設置所以就空著了,最後那個是變數的變化,i++的意思是i=i+1。

D. C語言編程,給定一個不多於5位的正整數,求① 求它是幾位數② 分別輸出每一位數字③ 按逆序輸出各位數字

#include<stdio.h>
#include<stdlib.h>
void mian()
{
int num,i,temp[5];
printf("請輸入一個低於5位的整數\n");
scanf("%d",&num);
for(i=0;i<5,i++)
{
temp[i]=num%10;
num=num/10;
}
for(i=0,i<5;i++)
{
if(temp[i]<0)
printf("這是一個%d位數",i);
}
while(temp[i]!=0)
{
printf("%d",temp[i]); i++;
}
}

E. C語言編程:給一個不多於5位的正整數,要求編程實現(1)求它是幾位數(2)逆序輸出各位數字

這個我剛好做過,你看看。
#include<stdio.h>
void main()
{
long int a;
int n,b,c,d,e,f;
printf("\n請輸入一個整數(0~99999):");
scanf("%d",&a);
if(a>9999)
n=5;
else if(a>999)
n=4;
else if(a>99)
n=3;
else if(a>9)
n=2;
else n=1;
printf("\n這個數的位數=%d",n);
f=a/10000;e=a%10000/1000;d=a%10000%1000/100;c=a%10000%1000%100/10;
b=a%10000%1000%100%10;
printf("\n萬位為%d\n千位為%d\n百位為%d\n十位為%d\n個位為%d\n",f,e,d,c,b);
switch(n)
{
case 5:printf("%d%d%d%d%d",f,e,d,c,b);
printf("\n反序數字為:");
printf("%d%d%d%d%d",b,c,d,e,f);break;
case 4:printf("%d%d%d%d",e,d,c,b);
printf("\n反序數字為:");
printf("%d%d%d%d",b,c,d,e);break;
case 3:printf("%d%d%d",d,c,b);
printf("\n反序數字為:");
printf("%d%d%d",b,c,d);break;
case 2:printf("%d%d",c,b);
printf("\n反序數字為:");
printf("%d%d",b,c);
case 1:printf("%d",b);
printf("\n反序數字為:");
printf("%d",b);
}
} 註:f是求萬位的數字,後面的以此類推。

F. 設計一個C語言程序:給一個不多於5位的正整數,要求:求出它是幾位數;分別輸出每

看你怎麼求。
如果是通過模除 和除法的方式,必然會得到7, 不可能得到8.
如果中間有轉為浮點數的話 就不一定了。

G. c語言編程:給一個不多於五位的正整數,用if-else語句求出它是幾位數

可以參考下面的代碼:

#include <stdio.h>

void main()

{ intnum; printf("請輸入一個不大於5位數的正整數:");

scanf("%d",&num);

if(num>99999||num<1)

printf("您的輸入有誤! ");

else { if(num<10)

printf("您輸入的是1位數! ");

else if(num<100)

printf("您輸入的是2位數! ");

else if(num<1000)

printf("您輸入的是3位數! ");

else if(num<10000) printf("您輸入的是4位數! ");

else printf("您輸入的是5位數! "); } }

(7)c語言求一個不多於五位的數擴展閱讀:

if語句的一般形式如下:

if(表達式)語句1

[else語句2]

if語句中的「表達式」可以是關系表達式、邏輯表達式,甚至是數值表達式。其中最直觀、最容易理解的是關系表達式。所謂關系表達式就是兩個數值進行比較的式子

if 語句的執行流程:首先判斷關鍵詞 if 後括弧內條件表達式的值,如果該表達式的值為邏輯真(非 0),則執行 if 體,接著執行 if 體後的其他語句;否則,若該表達式的值為邏輯假(0),則不執行該 if 體,直接執行 if 體後的其他語句。

H. 個C語言程序,給一個不多於5位的正整數,要求:求出它是幾位數;分別

#include<stdio.h> #include<math.h> int main() { long int num; int indiv,ten,hundred,thousand,ten_thousand,place; printf("intput a interger(0~99999):"); scanf("%ld",&num); if(num>9999) place=5; else if(num>999) place=4; else if(num>99) place=3; else if(num>9) place=2; else place=1; printf("位數=%d\n",place); printf("每位數字為:"); ten_thousand=num/10000; thousand=(int)(num-ten_thousand*10000)/1000; hundred=(int)(num-ten_thousand*10000-thousand*1000)/100; ten=(int)(num-ten_thousand*10000-thousand*1000-hundred*100)/10; indiv=(int)(num-ten_thousand*10000-thousand*1000-hundred*100-ten*10); printf("方向數字為\n:"); switch(place) { case 5:printf("%d %d %d %d %d\n",indiv,ten,hundred,thousand,ten_thousand);break; case 4:printf("%d %d %d %d\n",indiv,ten,hundred,thousand); break; case 3:printf("%d %d %d\n",indiv,ten,hundred); break; case 2:printf("%d %d\n",indiv,ten);break; case 1:printf("%d\n",indiv);break; } } 是這個樣子了,如果有錯,可能是我打錯了吧,基本是沒什麼錯誤的

I. c語言輸入一個不多於5位正整數要求:求出它是幾位數;分別列印出每一位數字;按逆序輸出各位數字。

#include <stdio.h>
int main(void)

{
long int x;
int y,i=1;
printf("請輸入一個不超過100000的整數:"); // <------請把,x去掉
scanf("%ld",&x);
if (x>99999||x<1) printf("你所輸入的數據超出計算范圍\n");
else
{
while (x!=0) // <------請把 do 去掉
{
y=x%10;
printf("%d\t",y);
x=x/10;
i=i+1;
}

printf("\n這個數共有%d位\n",i);
}
return 0; // <------這里return 0;放最外層計較好
}