Ⅰ c語言中 怎樣用if語句輸出一個不多於五位數的每一位且交換順序且判斷它的位數
{
int a;
if(a>9999) printf("a 是五位數\n");
if(a>999) printf("a是四位數\n");
if(a>99) printf("a是百位數\n");
if(a>9) printf("a是十位數\n");
else printf("a是個位數\n")
}
Ⅱ 用c++中的if語句編寫:給一個不多於5位正整數,按高到低列印每一位數,並求出它是幾位數
========================================
#include <iostream>
using namespace std;
int main()
{
char a[20];
cin >> a;
unsigned length = strlen(a);
if (length <= 5)
{
for (unsigned i = 0; i < length; i++)
{
cout << a[i] << " ";
}
cout << endl << length << endl;
}
else
{
cout << "位數大於規定要求" << endl;
}
system("pause");
return 0;
}
========================================
#include <iostream>
using namespace std;
int main()
{
int a, bits = 0;
cin >> a;
int tmp1, tmp2, tmp3;
tmp1 = tmp2 = tmp3 = a;
if (a > 0 && a <= 99999)
{
do
{
tmp1 /= 10;
bits++;
} while (tmp1 != 0);
if (a < 10)
{
cout << a;
}
else
{
int i = 1, j;
while (tmp2 >= 10)
{
tmp2 = tmp2 / 10;
i = i * 10;
}
while (i != 0)
{
j = tmp3 / i;
tmp3 = tmp3 % i;
i = i / 10;
cout << j << " ";
}
}
cout << endl << bits << endl;
}
system("pause");
return 0;
}
Ⅲ C語言用編寫:五位以內的正整數,求它是幾位數,並逆序輸出。
程序沒有錯誤。但是格式又一點問題。在每else if和else語句加上{}。
修改後:
#include <stdio.h>
void main()
{
int a,b,c,d,e,x,m;
printf("請輸入一個五位以內的正整數:\n");
scanf("%d",&x);
e=x/10000;
d=x%10000/1000;
c=x%1000/100;
b=x%100/10;
a=x%10;
if(x>99999||x<=0)
printf("ERROR!\n");
else if(x>9999){
m=5;
printf("數字為%d位數,逆序為%d%d%d%d%d\n",m,a,b,c,d,e);}
else if(x>999){
m=4;
printf("數字為%d位數,逆序為%d%d%d%d\n",m,a,b,c,d);}
else if(x>99){
m=3;
printf("數字為%d位數,逆序為%d%d%d\n",m,a,b,c);}
else if(x>9){
m=2;
printf("數字為%d位數,逆序為%d%d\n",m,a,b);}
else {
m=1;
printf("數字為%d位數,逆序為%d\n",m,a);}
}
Ⅳ c語言用if語句求三個數按順序排列疑惑
你的這個程序要先修改一下,才能實現你所說的排序。將程序 改為:
#include<stdio.h> /* include 這個詞你漏掉了一個字元u */
#include <conio.h> /* 加上這個頭文件,是因為後面有getch() */
void main()
{
int a,b,c,t;
printf("please input a,b,c.\n");
scanf("%d,%d,%d",&a,&b,&c);
/*下面這幾個if語句都要加{ },否則不能實現從小到大排序 */
if(a>b) {t=a;a=b;b=t;} /* 這一句的意思是:如果a>b,則交換a和b,否則什麼也不做。即用a存 放a b二者中較小的數,b存放較大的數*/
if(a>c) {t=a;a=c;c=t;} /* a再和c比較,a存放二者較小的數。經過這次比較後,a是三個數中最小的*/
if(b>c) {t=b;b=c;c=t;} /*b和c比較,b存二者中較小的數,c存較大的數*/
printf("%d,%d,%d\n",a,b,c); /*這樣比較過再輸出,則a最小,b其次,c最大*/
getch();
}
Ⅳ 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位數! "); } }
(5)c語言if語句求幾位數擴展閱讀:
if語句的一般形式如下:
if(表達式)語句1
[else語句2]
if語句中的「表達式」可以是關系表達式、邏輯表達式,甚至是數值表達式。其中最直觀、最容易理解的是關系表達式。所謂關系表達式就是兩個數值進行比較的式子
if 語句的執行流程:首先判斷關鍵詞 if 後括弧內條件表達式的值,如果該表達式的值為邏輯真(非 0),則執行 if 體,接著執行 if 體後的其他語句;否則,若該表達式的值為邏輯假(0),則不執行該 if 體,直接執行 if 體後的其他語句。