/*
这题没啥难度,但是做的很郁闷
之前的题说以“##”为结束标志,该行无效;
一般没有以“##”开始的有效行,所以一直用s[0]=='#'&&s[1]=='#'为判断标志
今儿载他手里了,还就有以“##”开始的数据行
以后规范点儿吧
*/
#include<stdio.h>
#include<string.h>
char s[110][20000];
int main()
{
int n,num1,num2,i,j,k,nn;
scanf("%d",&n);
getchar();
while(n--)
{
num1=num2=0;
for(i=0;1;i++)
{
gets(s[i]);
if(strcmp(s[i],"##")==0)
break;
}
for(j=0;j<i;j++)
{
for(k=0;s[j][k];k++)
if(s[j][k]=='\t')
num1++;
k--;
if(k<0)
k=0;
nn=0;
while((s[j][k]==' '||s[j][k]=='\t')&&k>=0)
{
if(s[j][k]=='\t')
nn+=3;
nn++;
k--;
}
num2+=nn;
}
printf("%d tab(s) replaced\n%d trailing space(s) removed\n",num1,num2);
}
return 0;
}
zoj 2851 Code Formatter
最新推荐文章于 2024-08-20 09:48:49 发布