题解
单词翻转
2 条题解
-
0
#include <bits/stdc++.h> using namespace std; char a[505]; int main(){ int k, c = 0;//k保存单词的最后一个字母的下标,c记录单词首字母 cin.getline(a, 505); //循环范围要把'\0'计算进去 for (int i = 0; i <= strlen(a); i++) { //找到空格或者'\0'就表示前一个位置是单词的最后一个字母 if (a[i] == ' ' || a[i] == '\0') { k = i - 1; //从k开始往前输出 for (int j = k; j >= c; j--) { cout << a[j]; } cout << ' '; //单词首字母位置要进行变更 c = i + 1; } } return 0; } -
0
#include <bits/stdc++.h> using namespace std; int main() { char a[510]; int b=0,c=0,k; cin.getline(a,510); for(int i=0;i<strlen(a);i++){ if(a[i]==' '||i==strlen(a)-1){ c++; if(i==strlen(a)-1){ k=i; }else{ k=i-1; } for(int j=k;j>=b;j--){ cout<<a[j]; } if(c==1){ cout<<" "; c=0; } b=i+1; } } return 0; }
- 1