1009 说反话 两种解法 gets()函数的替换

解法一:
#include<cstdio>
#include<cstring>
int main()
{
	char str[90];
	fgets(str,89,stdin);//PAT中没有gets函数
	char ans[90][90];
	int L=strlen(str)-1;//fgets函数会把换行符也读进来,要减一
	int r=0,h=0;
	for(int i=0;i<L;i++)
	{
		if(str[i]!=' ')
		{
			ans[r][h]=str[i];
			h++;//可以简写成 ans[r][h++]=str[i];
		}
		else
		{
			//ans[r][h]='\0';//注意字符串结尾要加'\0' ,
			r++;			//要是没加,也没有报错,应该会自动补齐。 
			h=0;
		}
	}
	
	for(r;r>=0;r--)
	{
		printf("%s",ans[r]);
		if(r>0) printf(" ");//注意:末尾单词后不需要空格 
	}
	return 0;
 } 

fget()的使用点这里:fget()的使用

#include<cstdio>
#include<cstring>
int main()
{
	int num;
	char ans[90][90]; 
	while(scanf("%s",ans[num])!=EOF)//while(scanf("%s",ans[num++])!=EOF),为什么不行?
		num++;
	for(int i=num-1;i>=0;i--)
	{
		printf("%s",ans[i]);
		if(i>0) printf(" ");
	}
	return 0;
 } 
上一篇:1009. 十进制整数的反码


下一篇:1009 说反话(类似回文字符串)