#include stdio.h
創(chuàng)新互聯(lián)網(wǎng)站建設(shè)服務(wù)商,為中小企業(yè)提供網(wǎng)站建設(shè)、網(wǎng)站制作服務(wù),網(wǎng)站設(shè)計(jì),網(wǎng)站托管、服務(wù)器托管等一站式綜合服務(wù)型公司,專業(yè)打造企業(yè)形象網(wǎng)站,讓您在眾多競爭對手中脫穎而出創(chuàng)新互聯(lián)。
#include string.h
#define N 50
int reverse (char a[])
{
int len, i;
len= strlen(a);
for(i=len-1;i=0;i--)
{
printf("%c",a[i]);
}
}
int main()
{
char a[N],i;
gets(a);
reverse(a,N);
return 0;
}
#includestdio.h
#includestdlib.h
void*nizhi(int *newarry,int a)
{
int mid=0;
printf("請輸入數(shù)組的元素,數(shù)字之間以空格分隔.\n");
for(int i=0;ia;i++)
scanf("%d",newarry[i]);
printf("你新建立的數(shù)組是:\n");
for(int i=0;ia;i++)
printf("%d\t",newarry[i]);
for(int j=a-1,i=0;i=j;i++,j--)
{
mid=newarry[i];
newarry[i]=newarry[j];
newarry[j]=mid;
}
printf("\n逆序后的數(shù)組為:\n");
for(int i=0;ia;i++)
printf("%d\t",newarry[i]);
return newarry;
}
int _tmain(int argc, _TCHAR* argv[])//不是vs運(yùn)行環(huán)境的話,自己修改成你使用的環(huán)境定義方式
{
int *arry,*p,n;
xunhuan: printf("請輸入要建立的數(shù)組長度:"); //為了實(shí)現(xiàn)循環(huán),如果不循環(huán),去掉xunhuan:
scanf("%d",n);
p=n;
arry=(int*)malloc(n*sizeof(int));
if(arry==NULL)
{
printf("分配空間失敗!");
return 0;
}
nizhi(arry,*p);
printf("\n循環(huán)執(zhí)行:\n");
goto xunhuan; //為了實(shí)現(xiàn)循環(huán),如果不要循環(huán)的話,去掉此句
return 0;
}
函數(shù)nizhi實(shí)現(xiàn)數(shù)字?jǐn)?shù)組的逆序存放
printf("倒序排后的數(shù)為:\n",result); ?//少了%d
不過加上后輸出結(jié)果也不正確
這類問題用數(shù)組很方便, 或者在scanf時直接用字符數(shù)組獲取數(shù)據(jù)更方便
#includestdlib.h
#includestdio.h
#include?"string.h"
int?daoXupai(int?x)
{
char?s[10]={"\0"};
sprintf(s,"%d",x);
int?len=strlen(s);
int?i,t;
for(i=0;ilen/2;i++)
{
t=s[i];
s[i]=s[len-1-i];
s[len-1-i]=t;
}
t=atoi(s);
return?t;
}
int?main()
{
int?x,result;
printf("輸入一個整數(shù):",x);
scanf("%d",x);
result=daoXupai(x);
printf("倒序排后的數(shù)為:%d\n",result);
system("pause");
return?0;
}
只需將字符串的第一個元素和最后一個元素交換,第二個元素和倒數(shù)第二個元素交換,直到字符串長度一半時,就完成倒序了。切記不要全部倒序,不然又恢復(fù)成原字符串了。
#include?stdio.h
#include?string.h
//?反序字符串x并返回
char*?reverse_string(char?*x)
{
int?len?=?strlen(x);
int?i,?n?=?len?/?2;
char?tem;
//?第一個和最后一個交換,第二個和倒數(shù)第二個交換
//?這樣就只用交換一半
for?(i?=?0;?i?=?n;?i++)
{
tem?=?x[i];
x[i]?=?x[len?-?1?-?i];
x[len?-?1?-?i]?=?tem;
}
return?x;
}
int?main()
{
char?str[]?=?"0123456789";
printf("reverse?string?:?%s\n",?reverse_string(str));
return?0;
}
反序字符串,只需要將首尾字符依次調(diào)換即可。
#include?stdio.h
#include?string.h
//?反序字符串x并返回
char*?reverse(char?*x)
{
int?len?=?strlen(x);
int?i,?n?=?len?/?2;
char?tem;
for?(i?=?0;?i?=?n;?i++)
{
tem?=?x[i];
x[i]?=?x[len?-?1?-?i];
x[len?-?1?-?i]?=?tem;
}
return?x;
}
int?main()
{
char?str[100];
printf("input?a?string?:");
gets(str);
puts(reverse(str));
return?0;
}
在C語言中。先讀取一個整數(shù),然后每次獲取整數(shù)的個位數(shù)。再把這個個位數(shù)從原來的數(shù)據(jù)去掉。把每次獲得的個位數(shù)拼裝成為一個新的整數(shù)。下面是相關(guān)的代碼。
int x,y=0;
scanf("%d",x);
for(;x;x/=10)y=y*10+x%10;
printf("%d\n",y);