习题 7.5 写一个函数,使输入的一个字符串按反序存放,在主函数中输入和输出字符串。

C程序设计(第四版) 谭浩强 习题7.5 个人设计

习题 7.5 写一个函数,使输入的一个字符串按反序存放,在主函数中输入和输出字符串。

代码块:

方法1:

#include 
#include 
void reverse(char a[]);                      //定义反序函数
main()
{
    char str[20];
    gets(str);                               //输入一个字符串
    reverse(str);                            //调用反序函数
    puts(str);                               //输出反序后的字符串
    return 0;
}
//反序函数
void reverse(char a[])
{
    int i, j, k;
    char t;
    k=strlen(a);
    for (i=0, j=k-1; i2; i++, j--){
        t=a[i];
        a[i]=a[j];
        a[j]=t;
    }
}

方法2:

#include 
#include 
void input(char st[]);                      //定义输入函数
void reverse(char st[]);                    //定义反序函数
int main()
{
    char s[20];
    input(s);                               //调用输入函数
    printf("Original string: %s\n", s);     //输出原字符串
    reverse(s);                             //调用反序函数
    printf("New string: %s\n", s);          //输出反序后的字符串
    return 0;
}
//输入函数
void input(char st[])
{
    printf("Please enter string: ");
    gets(st);
}
//反序函数
void reverse(char st[])
{
    int n=strlen(st);
    for (int i=0, j=n-1, t; i<(n/2); t=st[i], st[i]=st[j], st[j]=t, i++, j--);
}

你可能感兴趣的:(C程序设计,(第四版),谭浩强,课后答案)