當前位置:首頁 » 編程語言 » c語言5位數倒序輸出
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言5位數倒序輸出

發布時間: 2023-01-14 19:26:36

c語言編程,任意輸入一個五位正整數,逆序輸出每一位上的數 如輸入54321 輸出12345 要代碼

#include<stdio.h>

intres[5]={};//外部變數,把每一位作為數組元素進行存儲
int*p=res;

intmain(){

intnum=12345;

voidser(int);//分別輸出每一位數字
ser(num);
printf(" ");

p=res+4;//指針置於數組末尾
for(inti=0;i<sizeof(res)/sizeof(res[0]);i++){//逆序輸出
printf("%d",*p--);
}
return0;
}


voidser(intnumber){
if(number>9){
ser(number/10);//遞歸
}
printf("%d",number%10);//順序輸出
*p=(int)number%10;
p++;
}


/*
程序的輸出順序為10->8->6->4->2
遞歸步驟解釋
1:第一次執行ser函數,numbser=12345判斷數字大於9,將int(1234)再次執行函數ps:(int)/(int)結果為int
2:待執行ser函數後,輸出結果個位數12345%10=5

3:第二次執行ser函數....類比步驟1
4:待遞歸執行ser函數,類比步驟2,輸出十位個數1234%10=4

5:類比步驟1
6:類比步驟2,輸出百位個數123%10=3

7:類比步驟1
8:類比步驟2,輸出千位12%10=2

9:類比步驟1
10:number值為1,不再遞歸,直接輸出萬位1%10=1
*/

如有幫助,請點贊支持原創QVQ

Ⅱ 請輸入一個五位的整數。然後倒序輸出這個數。用c語言

#include<iostream>
#include<cmath>
using namespace std;
int main()
{
int s=0;
int a[5];
cout<<"輸入一個5位數"<<endl;
cin>>s;
for(int i=0;i<=4;i++)
{
a[i]=s/pow(10,4-i);
s=s%(int)pow(10,4-i);
}
s=0;
for(int j=0;j<=4;j++)
{
s=s+a[j]*pow(10,4-j);
}
cout<<"反序後的數字為:"<<s<<endl;
return 0;
}

現場編的,調試過沒有問題

Ⅲ 用C語言編程,輸入一個五位整數將它反向輸出,如輸入54321 ,輸出12345

#include<conio.h>
#include<stdio.h>
int main()
{
int n,num1,num2,num3,num4,num5,m;
printf("please input the number: ");
scanf("%d",&n);

num1=n/10000; //萬位
num2=(n-num1*10000)/1000; //千位
num3=(n-num1*10000-num2*1000)/100; //百位
num4=(n-num1*10000-num2*1000-num3*100)/10; //十位
num5=n%10; //個位
m=num5*10000+num4*1000+num3*100+num2*10+num1;

printf("result is: %d",m);

getch();
return 1;
}

Ⅳ 用c語言,如何輸入一個5位數讓它倒序輸出幫我改改我的代碼!謝謝

#include<stdio.h>
void main()
{
int a,b;
printf("請輸入一個五位數:\n");
scanf("%d",&a);
for(int i=0;i<5;i++)
{
b=a%10;
a=a/10;
printf("%d",b);
}
}
執行過了的 沒問題的
你的意思是想輸入一個五位數是這樣輸入 12345,而不是這樣輸入:1 2 3 4 5
所以用int數組的那個 不行,
而一樓的char數組 scanf("%s",&a);這句話 &a的& 明顯是多餘的 直接a就行了,因為a是數組名,代表了數組的首地址。

望採納

Ⅳ c語言,輸入一個五位數,把它倒置過來輸出,有更簡單的方法沒啊,大神們!

#include <iostream>
#include <string>
using namespace std;
int main()
{
string s,z;
cout<<"輸入一個數:";
cin>>s;
string::size_type index=s.size()-1;
for(;index!=0;--index)
z+=s[index];
z+=s[0];
cout<<"換過順序後為:"<<z<<endl;
return 0;

}

試試這個,不僅數字能換,字元串也能換。。

Ⅵ c語言,任意輸入一個五位正整數,逆序輸出每一位上的數

#include<stdio.h>
voidmain()
{
inti,n,a[5];
scanf("%d",&n);
for(i=0;i<5;i++)
{a[i]=n%10;n=n/10;}
for(i=0;i<5;i++)
if(a[i])
{
for(;i<5;i++)
printf("%1d",a[i]);
break;
}
}

運行示例:

Ⅶ 如何將一個五位數反向輸出,c語言

代碼: #include<stdio.h>
void main()
{
long x,temp=0;
printf("請輸入一個數:\n");
scanf("%ld",&x);
while(x!=0)
{
temp=temp*10+x%10;
x=x/10;
}
printf("這個數的方向輸出的結果是:%ld\n",temp);
}