{ "question_id": 7436247, "question_title": "将其中每个单词的字母顺序翻转后打印输出到屏幕", "question_content": "
初始化一个字符数组为"The best or nothing",并将其中每个单词的字母顺序翻转后打印输出到屏幕。要求:\n1、字符数组的初始化在程序运行时由用户输入;\n2、字符数组的翻转和结果输出功能通过函数实现;\n3、字符数组不能定义成全局变量。
", "difficulty": "简单", "answer_id": 53408492, "answer_content": "你要的结果是什么样的?
\n\n输入:The best or nothing
\n\n输出:ehT tseb ro gnihton
\n\n这样的吗?如果是这样的,代码如下:
\n\n\n#include <stdio.h>\n#include <string>\nvoid trans(char* p,int len)\n{\n\tchar* s = new char[len];\n\tmemcpy(s,p,len);\n\tfor (int i = 0; i < len; i++)\n\t{\n\t\tp[i] = s[len-1-i];\n\t}\n\tdelete[] s;\n\ts = 0;\n}\nvoid transfun(char* p,int len)\n{\n\tint start = 0;\n\tint i = 0;\n\tint shift = 0;\n\twhile(i < len)\n\t{\n\t\tfor (i = start; i < len;i++)\n\t\t{\n\t\t\tif(p[i] == ' ')\n\t\t\t\tbreak;\n\t\t}\n\t\t\n\t\ttrans(p+shift,i-start);\n\t\tshift += i-start+1;\n\t\tstart = i+1;\n\t\ti +=1;\n\t}\n\t\t\n}\nvoid output(char* p)\n{\n\tprintf("%s\\n",p);\n}\nint main()\n{\n\tchar buf[1000] = {0};\n\tprintf("请输入字符串:");\n\tgets(buf);\n\ttransfun(buf,strlen(buf));\n\toutput(buf);\n\t//getchar();\n\t//getchar();\n\treturn 0;\n}\n
\n\n\n", "tag_name": "c语言", "cpp": "#include