【算法笔记例题】说反话(2)

核心思想就是用二位字符串数组来存储字符串,然后倒序输出

#include <stdio.h>
#include <string.h>
#include <iostream>
using namespace std;

int main()
{
	char str[90]; //字符串数组来存放字符串
	gets(str);    //gets不会识别
	int len = strlen(str),r=0, h=0; //r为行,h为列	 
	char ans[90][90]; //ans[0]~ans[r]存放单词  核心思想都是用二维数组来存放字符串 

	for(int i=0;  i<len; i++){
		if(str[i] != ' '){ //如果不是空格,存放到ans[r][h]中,h++
			ans[r][h++] = str[i];
		}else{
			ans[r][h] = '\0';  //空格,则给当前字符串手动加结束表示
			r++;
			h = 0;
		}
	}

	for(int i=r; i>=0; i--){
		printf("%s", ans[i]);
		if(i>0) printf(" "); //不用存储空格的
	}


	return 0;
}
发布了63 篇原创文章 · 获赞 13 · 访问量 4万+

猜你喜欢

转载自blog.csdn.net/changreal/article/details/88215102