思路是先轉(zhuǎn)成字符串再操作 返回值為計算出的逆序數(shù) int f(int num) { char an[15]; int i, len, t, neg = 0; if(num 0) { num = -num; neg = 1; } sprintf(an, "%d", num); len = strlen(an); for(i=0; ilen/2; i++) { t = an[i]; an[i] = an[len - 1 -i]; an[len - 1 -i] = t; } num = atoi(an); return (neg?-num:num); } 剛才沒看到你還沒學到字符串,再給你個簡單點的 int f(int num) { int a=0,b; while (num != 0) { b=num%10; a=a*10+b; num=num/10; } return a; }
創(chuàng)新互聯(lián)公司科技有限公司專業(yè)互聯(lián)網(wǎng)基礎服務商,為您提供成都IDC機房托管,高防服務器,成都IDC機房托管,成都主機托管等互聯(lián)網(wǎng)服務。
int reverse(int n)
{
int r=0;
while(n!=0)
{
r*=10;
r+=(n%10);
n/=10;
}
return r;
}
#include stdio.h
#include string.h
#include stdlib.h
void main()
{
char array[10];
int k;
scanf("%d", k);
itoa(k, array, 10);
k = strlen(array);
while(k=0)
{
printf("%c", array[k-1]);
k--;
}
//如果想逆序輸出數(shù)是整型數(shù),可以用atoi()函數(shù)轉(zhuǎn)換回來
}
因為這個數(shù)字很長,而且開頭允許以零開始,所以有必要使用字符串來保存這個數(shù)字。然后用兩個變量分別指向它的第一個數(shù)字和最后一個數(shù)字,在使用一個循環(huán)判斷這兩個數(shù)字是否相同,如果相同,就把前面的標加一,并且把后面的下標減去一,直到前面的下標大于后面的下標,或者兩個下標所指的數(shù)字不相同。只要退出的時候兩個下標的數(shù)字不相同,原來的數(shù)字就不是幸運數(shù)字,否則他就是一個幸運數(shù)字。
呃……輸入m,abc不能這么得來!a=m/100,b=(m/10)%10,c=m%10,而且scanf不能 在m下面,不然m怎么讀入?這里直接引用了ascll碼了……