樓主你好。
創(chuàng)新互聯(lián)專業(yè)IDC數(shù)據(jù)服務(wù)器托管提供商,專業(yè)提供成都服務(wù)器托管,服務(wù)器租用,雅安移動(dòng)機(jī)房,雅安移動(dòng)機(jī)房,成都多線服務(wù)器托管等服務(wù)器托管服務(wù)。
#includestdio.h
#includestring.h
#include stdlib.h
#define MAX 100
int reverse(int number)
{
char s_no[MAX],t; //定義字符數(shù)組,用來(lái)存放轉(zhuǎn)換后的字符串。并定義一個(gè)字符變量
int i,n;
sprintf(s_no, "%d", number); //將數(shù)字轉(zhuǎn)換成字符串存放在字符數(shù)組中
n=strlen(s_no)-1; //計(jì)算字符串長(zhǎng)度
for(i=0;i=n/2;i++)
{ t=s_no[i],s_no[i]=s_no[n-i],s_no[n-i]=t;} //將字符串前后的對(duì)應(yīng)字符交換
return (atoi(s_no)); //將交換后的字符串轉(zhuǎn)換成數(shù)字返回給主函數(shù)
}
int main()
{
int no,new_no;
printf("Please input number:");
scanf("%d",no);
new_no=reverse(no);
printf("The new number is %d:\n",new_no);
return 0;
}
這個(gè)程序經(jīng)試驗(yàn)可以運(yùn)行成功。如果有問(wèn)題可以再問(wèn)我。希望對(duì)你有幫助。
#includestdio.h
void?main(){
int?x,?n;
printf("請(qǐng)輸入一個(gè)數(shù):");
scanf("%d",n);
printf("逆序輸出如下:\n");
while(n0){
x=n%10;
printf("%d?",x);
n=n/10;
}
printf("\n");
}
結(jié)果如下:
#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;
}
運(yùn)行示例:
請(qǐng)自行對(duì)照。
代碼里有一些問(wèn)題,看注釋。
#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個(gè)元素,最大下標(biāo)只能到9,a[10]越界;另外a[i]才是需要輸入的元素,而不是恒定某一個(gè)元素*/
nixu?(10,?a);
for(i=0;?i10;?i++)????/*輸出數(shù)組同樣也要循環(huán)*/
printf("%d??",a[i]);????/*數(shù)組10個(gè)元素,最大下標(biāo)只能到9,a[10]越界*/
}
int?nixu?(int?n,?int?a[])????/*函數(shù)定義參數(shù)不能和局部變量重名*/
{
int?i,k=(n-1)/2,t;????/*運(yùn)算符/比-優(yōu)先級(jí)高,要加括號(hào)*/
for(i=0;?i=k;?i++)
{????/*逆序過(guò)程只要一重循環(huán)就可以了*/
t=a[i];
a[i]=a[n-i-1];????/*尾部對(duì)應(yīng)的數(shù)組下標(biāo)要找對(duì)*/
a[n-i-1]=t;
}
return?0;????/*返回隨便一個(gè)值就可以,調(diào)用的地方不需要函數(shù)返回值,不能返回?cái)?shù)組首地址*/
}
不用求原來(lái)的數(shù)字到底是幾位,直接用取余數(shù)乘10的方法就可以了。
C語(yǔ)言是一門(mén)通用計(jì)算機(jī)編程語(yǔ)言,應(yīng)用廣泛。C語(yǔ)言的設(shè)計(jì)目標(biāo)是提供一種能以簡(jiǎn)易的方式編譯、處理低級(jí)存儲(chǔ)器、產(chǎn)生少量的機(jī)器碼以及不需要任何運(yùn)行環(huán)境支持便能運(yùn)行的編程語(yǔ)言。盡管C語(yǔ)言提供了許多低級(jí)處理的功能,但仍然保持著良好跨平臺(tái)的特性,以一個(gè)標(biāo)準(zhǔn)規(guī)格寫(xiě)出的C語(yǔ)言程序可在許多電腦平臺(tái)上進(jìn)行編譯,甚至包含一些嵌入式處理器(單片機(jī)或稱MCU)以及超級(jí)電腦等作業(yè)平臺(tái)。
思路是先轉(zhuǎn)成字符串再操作 返回值為計(jì)算出的逆序數(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); } 剛才沒(méi)看到你還沒(méi)學(xué)到字符串,再給你個(gè)簡(jiǎn)單點(diǎn)的 int f(int num) { int a=0,b; while (num != 0) { b=num%10; a=a*10+b; num=num/10; } return a; }