int main(int argc, char *argv[])
{
char s[30]
gets(s)
for(int i=0s[i]i++)
s[i]=122-(s[i]-97)
puts(s)
return 0
}
/*要完成头尾互换很简单,只要找出当前字母和a之间的距离x,再找出距离z为x的另一个字母,这个字母就是要找的。a的ascii值为97,z的ascii值为122,所以用上面的减法就可以很容易完成。我这里只写了小写字母的算法,大写的或者大小写混合的你自己写写看吧*/
#include<stdio.h>main()
{
void change(int *p, int m)
int i,n
int *a
i = 0
printf("please input how many the numbers are :")
scanf("%d",&n)
a = (int *)malloc(sizeof(int)*n)
printf("please input these numbers :")
for(i=0i<ni++)scanf("%d",a+i)
change(a, n)
printf("the numbers after change are like belowing :")
for(i=0i<ni++)printf("%3d",*(a+i))
getch()
}
void change(int *p, int m)
{
int i
int *pp
i = 0
pp = (int *)malloc(sizeof(int)*m)
for(i=0i<mi++)*(pp+i) = *(p+(m-1)-i)
for(i=0i<mi++)*(p+i) = *(pp+i)
}
测试运行结果:输入个数为10,然后输入10个数分别为1 6 9 12 15 23 36 41 56 78 ,之后输出为78 56 41 36 23 15 12 9 6 1
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)