Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2538730
  • 博文数量: 308
  • 博客积分: 5547
  • 博客等级: 大校
  • 技术积分: 3782
  • 用 户 组: 普通用户
  • 注册时间: 2009-11-24 09:47
个人简介

hello world.

文章分类

全部博文(308)

分类: C/C++

2010-08-06 21:04:46

    编写一个函数,使输入的一个字符串按反序存放,在主函数中输入和输出字符。
    可以设置一个中间值,让两端的字符相交换,然后前头的向后移动一位,后头的向前移动一位。当前头的变量大于中间值时。程序停止执行。根据此原理编写代码如下:
 

#include <stdio.h>
#define N 100

void inverse(char[]);
int main(int argc, int *argv[])
{
    int i = 0;
    char c,a[N];
    printf("input a string:");
    gets(a);
    
    puts(a);
    inverse(a); //进行字符翻转

    puts(a);
    
    system("pause");
    return 0;
}

void inverse(char str[])
{
     int i;
     char c;
     int begin = 0, end = strlen(str) - 1,mid = end / 2;
     do
     {
         c = str[end];
         str[end --] = str[begin];
         str[begin++] = c;
     }while(begin < mid);
}


阅读(6222) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~