只需要将字符数组的前后数据进行交换就行了。
创新互联建站坚持“要么做到,要么别承诺”的工作理念,服务领域包括:成都网站制作、网站建设、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的丰林网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!
#include stdio.h
#include string.h
char* reverse(char *x)
{
int i, tem, len = strlen(x);
int n = len / 2;
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 p[] = "abcdefghijk";
printf("relust = %s\n", reverse(p));
return 0;
}
#include stdio.h
int main()
{
int n=1234;
do {
printf( "%d", n%10 ); //输出个位数
n /= 10; //缩小10倍,去除个位数
} while (n!=0); //当n为0时结束循环
printf("\n");
retrun 0;
}
颠倒数字符合先进后出的顺序,可以借助栈来执行。首先分解这个数字,将每一位存到栈中,然后在将栈中的数字逐个出栈,组合在一起即可。代码如下:
int reverse(int num)
{
int stack[100];
int top = 0;
int result = 0;
while (num != 0)
{
stack[top++] = num % 10;
num /= 10;
}
while (top != 0)
{
result *= 10;
result += stack[--top];
}
return result;
}
提供个思路给你,用^
两个字符a,b;
先令a=a^b;
然后令b=a^b;这个时候,b其实相对于一开始(没进行a=a^b操作时)就是等于a^b^b=a;
最后令a=a^b;相对于一开始就是(a^b)^a=b;
这样.两个就进行了交换
反转输出是比如a[5]={0,1,2,3,4}输出是a[5]={4,3,2,1,0}吗?如果是我理解的这样,那看下面吧
#include stdio.h
int main()
{
int a[6]={0,1,2,3,4,5};
int i,n,temp;
n=6;//数组元素个数
for(i=0;in/2;i++)
{
temp=a[i];
a[i]=a[n-1-i];
a[n-1-i]=temp;
}
for(i=0;in;i++)
printf("%d ",a[i]);
return 0;
}