#includestdio.h
從事香港機房服務器托管,服務器租用,云主機,網(wǎng)站空間,域名與空間,CDN,網(wǎng)絡代維等服務。
int reverse(int n)
{
int i,sum=0;
while(n)
{i=n%10;br n/=10;br sum=10*sum+i;br }
return sum;}
void main()
{
int n;
printf("請輸入一個整數(shù):");
scanf("%d",n);
printf("%d的逆序數(shù)為:%d\n",n,reverse(n));
}不懂得可以hi我
#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;
}
運行示例:
請自行對照。
思路是先轉(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; }
代碼里有一些問題,看注釋。
#includestdio.h
int?nixu?(int?n,int?a[]);
void?main()
{
int?a[10],i;
printf("please?input?10?numbers\n");
for(i=0;?i10;?i++)
scanf("%d",a[i]);????/*數(shù)組10個元素,最大下標只能到9,a[10]越界;另外a[i]才是需要輸入的元素,而不是恒定某一個元素*/
nixu?(10,?a);
for(i=0;?i10;?i++)????/*輸出數(shù)組同樣也要循環(huán)*/
printf("%d??",a[i]);????/*數(shù)組10個元素,最大下標只能到9,a[10]越界*/
}
int?nixu?(int?n,?int?a[])????/*函數(shù)定義參數(shù)不能和局部變量重名*/
{
int?i,k=(n-1)/2,t;????/*運算符/比-優(yōu)先級高,要加括號*/
for(i=0;?i=k;?i++)
{????/*逆序過程只要一重循環(huán)就可以了*/
t=a[i];
a[i]=a[n-i-1];????/*尾部對應的數(shù)組下標要找對*/
a[n-i-1]=t;
}
return?0;????/*返回隨便一個值就可以,調(diào)用的地方不需要函數(shù)返回值,不能返回數(shù)組首地址*/
}