top1编程
← 返回题目
题解

单词翻转

2 条题解

  • 0
    @ 2026-7-29 20:22:07
    #include <bits/stdc++.h>
    using namespace std;
    char a[505];
    int main(){
    	int k, c = 0;//k保存单词的最后一个字母的下标,c记录单词首字母
    	cin.getline(a, 505);
    	//循环范围要把&#39;&#92;0&#39;计算进去
    	for (int i = 0; i <= strlen(a); i++) {
    		//找到空格或者&#39;&#92;0&#39;就表示前一个位置是单词的最后一个字母
    		if (a[i] == &#39; &#39; || a[i] == &#39;&#92;0&#39;) {
    			k = i - 1;
    			//从k开始往前输出
    			for (int j = k; j >= c; j--) {
    				cout << a[j];
    			}
    			cout << &#39; &#39;;
    			//单词首字母位置要进行变更
    			c = i + 1;
    		}
    	}
    	return 0;
    }
    
    • 0
      @ 2026-7-28 22:45:00
      #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