8、阅读下列代码,程序执行结果为(+)+a+=+[4,+5,+3,+2,+8]+a.reverse

8、阅读下列代码,程序执行结果为(+)+a+=+[4,+5,+3,+2,+8]+a.reverse,第1张

这段代码会创建一个列表 a,然后调用列表 a 的 reverse 方法,最后使用 print 函数打印输出列表 a。

在 Python 中,列表是一种有序的集合,可以使用方括号 [] 来创建列表。例如,在这段代码中,列表 a 的初始值为 [4, 5, 3, 2, 8]。

reverse 方法是列表的内置方法,可以将列表的元素倒序排列。在这段代码中,调用 reverse 方法后,列表 a 的值变为 [8, 2, 3, 5, 4]。

最后,使用 print 函数打印输出列表 a。因此,这段代码的输出结果为:

[8, 2, 3, 5, 4]

这一整段代码的功能是,用户输入一句话,按照单词进行逆序,但是单词内部还是原来的顺序。比如输入“I am a good boy”,处理之后输出的是boy good a am I”。

先理解一下strtok这个函数的功能,函数原型

char strtok(char s, const char delim)

它的第一个输入参数是需要处理的字符,第二个输入参数是分隔符,返回值是分割后的字符串。

比如第一个参数输入“I am a good boy”,第二个参数是“ ”(空格);

strtok(I am a good boy”, " ");

则返回值是“I”。

如果需要继续获得后面分割的字符串,就需要继续调用

strtok(NULL," "); // 第二次返回值,就是“am”

直到最后一个分割字符子串,返回值是0;

reverse()是个递归调用,如果还有分割字符串,则继续调用自己,直到最后一个分割子串,开始打印;接着返回上一次调用,打印前一个分割子串。最后就变成逆序了。

你这个当然不行了,在第一趟递归的时候,就进入了if语句,结束了递归调用了。

我改写的程序:

#include "stdafxh"

#include <iostream>

#include <string>

using namespace std;

void Reverse(string &s)

{

static int i = 0;

int len = slength();

char c;

if(i >= slength() / 2)

return;

c = s[i];

s[i] = s[len - i - 1];

s[len - i - 1] = c;

i++;

Reverse(s);

}

int _tmain(int argc, _TCHAR argv[])

{

string str("danger");

Reverse(str);

cout<<str<<endl;

system("pause");

return 0;

}

#include<stdioh>

#include<stringh>

//声明一个能转换英文字符大小写的函数。

//如果传入其它字符,例如空格,该函数返回原字符。

char reverse(char ch);

main()

{ char ch;

int i=0;

//读取一行字符串

ch=getchar();

while(ch!='#') //如果还有字符

{ //那么就将该字符传给reverse函数去处理,并重新放回ch中

//输出转换后的ch,并输入下一个待转换字符

ch=reverse(ch);

putchar(ch);

ch=getchar();

}

putchar(ch);

}

char reverse(char ch)

{if(ch>='a'&&ch<='z')//如果是小写字母,如何处理?

ch-=32;

else if(ch>='A'&&ch<='Z')//如果是大写字母,如何处理?

ch+=32;

return ch;

}

以上就是关于8、阅读下列代码,程序执行结果为(+)+a+=+[4,+5,+3,+2,+8]+a.reverse全部的内容,包括:8、阅读下列代码,程序执行结果为(+)+a+=+[4,+5,+3,+2,+8]+a.reverse、C语言。运用strtok函数使字符串倒叙输出的。程序应该没问题。不理解写的reverse函数啥意思。可以解释下吗、用c++编写一个void Reverse(string &s)函数,还要用递归,使字符串倒序。下面是我的源程序。等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址: http://outofmemory.cn/zz/10079839.html

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

发表评论

登录后才能评论

评论列表(0条)

保存