c语言、编写函数reverse_string将字符串反序输出。

c语言、编写函数reverse_string将字符串反序输出。,第1张

只需将字符串的第一个元素和最后一个元素交换,第二个元素和倒数第二个元素交换,直到字符串长度一半时,就完成倒序了。切记不要全部倒序,不然又恢复成原字符串了。

#include <stdioh>

#include <stringh>

// 反序字符串x并返回

char reverse_string(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[] = "0123456789";

    printf("reverse string : %s\n", reverse_string(str));

    return 0;

}

int reverse(int n)

{

    int r=0;

    while(n!=0)

    {

        r=10;

        r+=(n%10);

        n/=10;

    }

    return r;

}

#include <stdioh>

int reverse_num(int n)

{

int m = n%10;

int i = n/10;

while (i > 0)

{

int a = i%10;

m = 10;

m += a;

i /= 10;

}

return m;

}

int main()

{

int n = 0;

int m = 0;

printf("Please input a number:\n");

scanf("%d", &n);

printf("The reverse number is : %d\n",reverse_num(n));

return 0;

}

扩展资料

在一个变化过程中,发生变化的量叫变量(数学中,常量为x,而y则随x值的变化而变化),有些数值是不随变量而改变的,我们称它们为常量。

自变量(函数):一个与它量有关联的变量,这一量中的任何一值都能在它量中找到对应的固定值。

因变量(函数):随着自变量的变化而变化,且自变量取唯一值时,因变量(函数)有且只有唯一值与其相对应。

函数值:在y是x的函数中,x确定一个值,y就随之确定一个值,当x取a时,y就随之确定为b,b就叫做a的函数值。

#include <stdioh>

#include <stdlibh>

#include <stringh>

void reverse(char s[]) //思路:第一个和最后一个交换。第二个和倒数第二个交换。交换次数是总字母个数的1/2取整。

{

char tmp;

int count = 0;

int i = 0;

int j = 0;

if(s == NULL)

{

printf("传入的参数错误!\n");

exit(-1);

}

while(s[count] != '\0')

{

count++; //统计字符串中字母个数

} //还可以通过这句话实现上面的while功能:count = strlen(s);

i = count/2; //计算交换的次数

count--;//方便后边第一个s[count]表示最后一个字母。

for(j=0; i>0; i--, j++, count--)

{

tmp = s[j];

s[j] = s[count];

s[count] = tmp;

}

}

int main()

{

char p = "abcdefg";

reverse(p);

printf("%s\n", p);

return 0;

}

原创。哪不明白可以提问。。。。

//#include "stdafxh"//If the vc++60, with this line

#include "stdioh"

int reverse(int value){

    static x;

    if(value){

        (x=10)+=value%10;

        reverse(value/10);

    }

    return x;

}

int main(void){

    int a,value;

    scanf("%d",&value);

    a=reverse(value);

    printf("%d\n",a);

    return 0;

}

1、C 表示将输入的整数n传给reverse函数

2、C 表示定义一个long型变量res,并初始化

3、B 表示主函数(main)穿进来的值,如果为负数,则取反

4、B 倒置传入的参数number,res10表示将原来res乘以10,再加上number%10;比喻说你传的是123,而res的初始值是0,123%10=3,那么res=3,第二次循环:由于123/10=12,所以res10+number%10=30+2=32,第三次循环:12/10=1,所以res=res10+number%10=320+1=321,第四次循环,number/10=0,结束循环,所以最后的res就是将传进来的值倒置之后的值。

这里给你分析了一下倒置的原理,望采纳!

在C语言中倒序输出可以使用循环结构,通过控制循环变量的增减来实现。但是如果不能从后面往前倒,可以考虑将数据存储在数组中,然后通过循环从数组的最后一个元素开始输出,每次输出一个元素,直到输出第一个元素为止。这样就可以实现倒序输出的效果,且不需要从后往前遍历。另外,如果不能使用数组,也可以通过使用递归函数实现倒序输出,递归函数每次输出最后一个元素,然后递归调用输出剩余元素,直到输出第一个元素。无论是使用数组还是递归函数,都可以实现不从后往前倒的倒序输出。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/11672357.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-17
下一篇 2023-05-17

发表评论

登录后才能评论

评论列表(0条)

保存