求逆序數c語言
『壹』 c語言求逆序數的代碼調試
#include<stdio.h>
#include<math.h>
intreserve(intnumber){
inti=1,sum=0,n;
while(number/(int)pow(10,i)>0){//這里用(int)pow(10,i)取整數,因為pow函數返回的是浮點型值
++i;}
while(i!=0){
n=number%10;
number=number/10;
sum=sum+n*pow(10,i-1);
i=i-1;
}
returnsum;
}
intmain(void){
intnum,re;
printf("請輸入一個整數:");
scanf("%d",&num);
re=reserve(num);
printf("逆序數:%d ",re);
return0;
}
參考修改過的代碼哈,歡迎交流,滿意請採納。
『貳』 C語言中怎麼求逆序
因為這個數字很長,而且開頭允許以零開始,所以有必要使用字元串來保存這個數字。然後用兩個變數分別指向它的第一個數字和最後一個數字,在使用一個循環判斷這兩個數字是否相同,如果相同,就把前面的標加一,並且把後面的下標減去一,直到前面的下標大於後面的下標,或者兩個下標所指的數字不相同。只要退出的時候兩個下標的數字不相同,原來的數字就不是幸運數字,否則他就是一個幸運數字。
『叄』 c語言 從鍵盤輸入一個三位數,輸出該數的逆序數。
c語言中從鍵盤輸入一個三位數,輸出該數的逆序數,可以參考以下的代碼:
#include<stdio.h>
int main()
{int x;
printf("請輸入一個三位數:");
scanf("%d",&x);
printf("%d%d%d ",x%10,x/10%10,x/100);
return 0;
}
(3)求逆序數c語言擴展閱讀:
c語言中的一些其他函數
doublepow10(int p) 返回10^p的值
double sqrt(double x) 返回+√x的值
double cos(double x) 返回x的餘弦cos(x)值,x為弧度
double sin(double x) 返回x的正弦sin(x)值,x為弧度
int rand() 產生一個隨機數並返回這個數
『肆』 C語言求逆序輸出各位數字
思路:逆序輸出一個整數,最簡單的方法就是利用字元數組接收該整數,求出數組長度,依次從數組的高位到低位輸出即可。
參考代碼:
#include<stdio.h>
#include<string.h>
intmain()
{
chara[100];
inti,n;
gets(a);//輸入整數字元數組接收
n=strlen(a);//求數組長度
for(i=n-1;i>=0;i--)//從數組高位到低位輸出
printf("%c",a[i]);
return0;
}
/*
運行結果:
12345
54321
*/
『伍』 求逆序數c語言程序
#include< stdio.h>
main()
{
int a,b1,b2,b3,c;
printf("輸入一個三位數");
scanf("%d",&a);
b1=a/100;
b2=(a-100*b1)/10;
b3=a-100*b1-10*b2;
c=100*b3+10*b2+b1;
printf("c=%d\n",c);
}
樓主自己多編編,經驗出來了就會了
還是自己努力哈~
『陸』 求一個任意多位數逆序輸出的演算法,C語言實現
我的方法比較笨拙:
①先算數字有多少位;
②第二次循環中,將輸入數字除以10 的余數 乘(數字位數 - 循環次數);
intmain(void){
intnumber,m,digits,number2,i,n,temp;
printf("Enteranumber:");
scanf("%d",&number);
n=0;
temp=number;
do{
n++;
temp/=10;
}while(temp>0);
digits=0;
number2=0;
do{
digits++;
m=number%10;
number/=10;
for(i=0;i<n-digits;i++){
m*=10;
}
number2+=m;
}while(number>0);
printf("Thenumberis%d ",number2);
return0;
}
希望有更好的寫法,感謝!
『柒』 c語言逆序數怎麼編程
在C語言中。先讀取一個整數,然後每次獲取整數的個位數。再把這個個位數從原來的數據去掉。把每次獲得的個位數拼裝成為一個新的整數。下面是相關的代碼。
int x,y=0;
scanf("%d",&x);
for(;x;x/=10)y=y*10+x%10;
printf("%d\n",y);
『捌』 在C語言中,如何輸出逆序的數字
#include<stdio.h>
void
main()
{
int
a[5],i;
for(i=0;i<5;i++)
scanf("%d",&a[i]);
printf("\n");
for(i=4;i>=0;i--)
printf("%d
\n",a[i]);
}
其實只需要用一個數組代表輸入的數據就可以了,反向輸出時只需從數組的末尾開始就行了。
『玖』 C語言求逆序數
#include<stdio.h>
intmain()
{
intn,m=0;
scanf("%d",&n);
while(n)
{m=m*10+n%10;n/=10;}
printf("%d",m);
return0;
}
運行示例:
請自行對照。
『拾』 c語言求數組逆序
如果你直接用b[i]=b[10-1-i]; 這句的時候, 最後的結果會變成45654 數據會被覆蓋了
因為你把b[9]的值賦值給b[0]的時候 會把b[0]的值覆蓋了,所以要先把b[0]的值存在t裡面
for(i=0;i<=10\2;i++) 你這個循環的條件是
i<=10\2 只循環5次。 t當然只是b0b1b2b3b4的值了