思路是先轉(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è)的吳川網(wǎng)站建設公司,吳川接單;提供成都做網(wǎng)站、成都網(wǎng)站制作,網(wǎng)頁設計,網(wǎng)站設計,建網(wǎng)站,PHP網(wǎng)站建設等專業(yè)做網(wǎng)站服務;采用PHP框架,可快速的進行吳川網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團隊,希望更多企業(yè)前來合作!
#include?stdio.h
int?main()
{
int?n,m=0;
scanf("%d",n);
while(n)
{m=m*10+n%10;n/=10;}
printf("%d",m);
return?0;
}
運行示例:
請自行對照。
因為這個數(shù)字很長,而且開頭允許以零開始,所以有必要使用字符串來保存這個數(shù)字。然后用兩個變量分別指向它的第一個數(shù)字和最后一個數(shù)字,在使用一個循環(huán)判斷這兩個數(shù)字是否相同,如果相同,就把前面的標加一,并且把后面的下標減去一,直到前面的下標大于后面的下標,或者兩個下標所指的數(shù)字不相同。只要退出的時候兩個下標的數(shù)字不相同,原來的數(shù)字就不是幸運數(shù)字,否則他就是一個幸運數(shù)字。