这个是找工作的一个笔试题。说的是单词倒序输入。
#include <iostream>
using namespace std;
char* converse(char* str);
int main()
{
char str[30];
cin.getline(str, 30);
cout << str << endl;
char result[30];
char* result1 = converse(str);
strcpy(result, result1);//用指针直接输出是乱码,用数组就正常输出。
cout << result << endl;
return 0;
}
char* converse(char* str){
char result[100];
//strcpy(result, str);
int len = strlen(str);
char c[50];
int index=-1;
int temp = -1;
for (int i = len - 1; i > -1; i--){
if (str[i] != ' '){
temp++;
c[temp] = str[i];
}
if (str[i] == ' ' && temp < 0){
continue;
}
if (str[i] == ' ' && temp > -1 || i == 0){
for (int j = temp; j > -1; j--){
index++;
result[index] = c[temp];
temp--;
}
if (i != 0){
result[++index] = ' ';
}
}
}
result[++index] = '\0';
return result;
}
网友评论