A. 給一個不多於5位的正整數,求出它是幾位數分別打出每一位數字按逆順序打出各位數字請用c語言編程。
給你個簡單的應付差使。
#include <stdio.h>
#include <stdlib.h>
int main()
{
int input;
int i;
unsighed char tempstr[20];
scanf("%d",input);
sprintf(tempstr , "%d" , input );
if (strlen(tempstr)>=5)
printf("error input\r\n");
for (i=0;i<strlen(tempstr);i++)
{
printf("%c",tempstr[i]);
}
for (i=0;i<strlen(tempstr);i++)
{
printf("%c",tempstr[5-i];
}
}
搞定。在線寫的,要是有語法錯誤,自己略微修改一下就可以了。
}
B. c語言編程:給一個不多於五位的正整數,用if-else語句求出它是幾位數
#include
int
main()
{
int
count;
printf("Please
input
a
number:");
scanf("%ld",&count);
if(count>=10000&&count<=99999)
printf("這是個5位數!");
else
if(count>=1000&&count<=9999)
printf("這是個4位數!");
else
if(count>=100&&count<=999)
printf("這是個3位數!");
else
if(count>=10&&count<=99)
printf("這是個2位數!");
else
if(count>=0&&count<=9)
printf("這是個1位數!");
else
printf("不在范圍內!");
return
0;
}
C. C語言:輸入一個不多於5位的正整數,求它是幾位數。要求:將判斷一個數的位數操作定義為一個函數
#include<stdio.h>
#defineN5
intmain(){
intlen(intx);
inti,x;
for(i=0;i<N;i++){
scanf("%d",&x);
printf("Thelengthof%dis%d ",x,len(x));
}
return0;
}
intlen(intx){
intans=0;
while(x){
ans++;
x/=10;
}
returnans;
}
D. 用C語言編程:給出一個不多於5位的正整數,判斷它是幾位數
思路是:①判斷這個數是否小於10000並且大於0(檢查輸入的正確性)②假設輸入數字是a,判斷a是否等於1000、100、10。③判斷a%1000是否大於0,如果是,則這個數是四位數,如果不是,判斷a%100是否大於0,如果是,則這個數是三位數,判斷a%10是否大於0,如果是,則這個數是兩位數,如果以上情況都不是,就是一位數。
注釋:a%1000的結果表示a除以1000後的余數(小學數學里的除法余數概念),如果大於0,說明有餘數,說明a至少大於1000.如果等於0,說明a小於或等於1000
E. 設計一個C語言程序:給一個不多於5位的正整數,要求:求出它是幾位數,分別輸出每個數。
C語言程序:
#include
int Digit(int n)
{
return n > 0 ? 1 + Digit(n/10) : 0;
}
void rprint(int n)
F. C語言編程:給一個不多於5位的正整數,要求1求它是幾位數2逆序列印出各位數字
/*給一個不多於5位的正整數,要求:一、求它是幾位數,二、逆序列印出各位數字。*/
#include <stdio.h>
int main()
{
int a[5],num,k,i=0;
printf("請輸入一個不多於五位的正整數:");
scanf("%d",&num);
if(num<=0)
printf("請輸入一個正整數");
while(num>0)
{
k=num%10;
a[i]=k;
++i;
num=num/10;
}
if(i>=6)
printf("請輸入一個不多於五位的正整數!");
else
{
printf("這是一個%d位數;\n",i);
printf("逆序列印為:");
for(int j=0;j<=(i-1);j++)
{
printf(" %d",a[j]);
}
}
return 0;
}
G. C語言題目,設計一個程序,: 給出一個不多於5位數的正整數,判斷它是幾位數!
#include <stdio.h>
main()
{ long int num;
int indiv,ten,hundred,thousand,ten_thousand,place;printf("請輸入一個整數(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("place =%d\n", place);
H. C語言 給出一個不多於5位的正整數。1.輸出它是幾位數 2.輸出每一位數字 3.按逆序輸出各位數字,
#include "stdio.h"
void main()
{
int x,a,b,c,d,e,n,j;
printf("請輸入一個不多於5位的正整數\n");
scanf("%d",&x);
a=x/10000;
b=x/1000-a*10;
c=x/100-a*100-b*10;
d=x/10-a*1000-b*100-c*10;
e=x-a*10000-b*1000-c*100-d*10;
if(a!=0)n=5;
else if(a==0 && b!=0)n=4;
else if(a==0 && b==0 && c!=0)n=3;
else if(a==0 && b==0 && c==0 && d!=0)n=2;
else n=1;
if(a>9)printf("輸入的數大於5位!\n");
else
{
if(n==1) printf("該數字是%d位數,個位%d\n",n,e);
else if(n==2) printf("該數字是%d位數,十位%d,個位%d\n",n,d,e);
else if(n==3) printf("該數字是%d位數,百位%d,十位%d,個位%d\n",n,c,d,e);
else if(n==4) printf("該數字是%d位數,千位%d,百位%d,十位%d,個位%d\n",n,b,c,d,e);
else if(n==5) printf("該數字是%d位數,萬位%d,千位%d,百位%d,十位%d,個位%d\n",n,a,b,c,d,e);
if(n==5)j=e*10000+d*1000+c*100+b*10+a;
else if(n==4)j=e*1000+d*100+c*10+b;
else if(n==3)j=e*100+d*10+c;
else if(n==2)j=e*10+d;
else j=e;
printf("該數的逆序是%d\n",j);
}
}
樓主是新手吧?
你在判斷語句里寫的n=5之類的是賦值語句
if(n=5) 表示的是如果把5賦值給n 成功了,則執行if後的語句
而if(n==5)才是判斷n 是否等於5
I. 給定一個不多於5位的正整數,求它是幾位數並且按逆序分別輸出每一位數字的C語言程序如何編寫
#include<stdio.h>
int main()
{int x,x1,i,n,a[6]={0};
scanf("%d",&x);
x1=x;
for(n=0;x;n++)
{
a[n]=x%10;
x/=10;
}
printf("%d是%d位數 ",x1,n);
for(i=0;i<n;i++)
printf("%d ",a[n-1-i]);
printf(" 逆序輸出是:");
for(i=0;i<n;i++)
printf("%d ",a[i]);
return 0;
}
J. 給一個不多於五位的正整數,要求求出它是幾位數,c語言
首先我要說的是,可以這么寫,但你寫的不對,必須把0-999種情況都寫出來,所以說你怎麼好意思說不笨。
我給你一種比較正常的寫法給你參考,用循環來判斷
intmain(intargc,constchar*argv[])
{
intb=-1;//用於存儲位數,初始值為-1表示輸入不合條件
intx;//不超過5位,用整型即可
scanf("%d",&x);//輸入該整數
if(x>0&&x<=99999)//根據題意用if限制輸入條件
{
//循環判斷位數
while(x>0)
{
x/=10;
b++;
}
}
printf("bit(s)=%d ",b);//輸出位數
return0;
}