题目描述
题目描述
dhx又ac了,但是他的代码十分丑陋,他想请你帮他优化一下风格。 经过你的研究,你发现代码丑陋的原因在于代码中有数量不一的连续空格,你决定把代码中所有的极大的只包含空格的字符串都统一替换为x个连续空格,而对于空格以外的字符不做任何修改。(极大指无法再向左或者向右扩大一位而仍满足只包含空格的条件)。题目保证dhx代码总长度不超过120000。
输入
多行输入,请读到EOF。
第一行,一个整数,表示x(1≤x≤101≤x≤10)
第二行到文件的末尾都为dhx的代码。
输出
请输出修改后的dhx的代码
题目来源及自己的思路
相关代码
#include<stdio.h>
int main(){
int x;
scanf("%d\n",&x);
char c;
while((c=getchar())!=EOF){
if(c!=' ') putchar(c);
else{
for(int i=0;i<x;i++)
putchar(' ');
do{
c=getchar();
}while(c==' ');
if(c==EOF)break;
else putchar(c);
}
}
return 0;
}
你期待的结果是什么?实际看到的错误信息又是什么?
scanf函数中的\n
有什么用处呢?去掉就会PE。
getchar把换行符读进来了,和scanf没啥关系