Sample Input (character "B" for ease of reading. The actual input file will use the ASCII-space character, not"B").
4
XXXXBBBBBBBBBBBBBBBBXXXXX
XXXBBBBBBBBBBBBBBBXXXXXXX
XXXXXBBBBBBBBBBBBBBBBXXXX
XXBBBBBBBBBBBBBBBBBXXXXXX
2
XXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXX
1
XXXXXXXXXBBBBBBBBBBBBBBXX
0
Sample Output
4
0
0
----------------------------------------
题目很难看懂,大意就是计算每次总得空格数,以及获得每行最小的空格数,输出sum - min*linNum。
AC代码:
注意第11行getchar()。后面scanf("%c”,&ch)的话会先获得换行符。
1 #include<stdio.h>
2 int main(){
3 int n;
4 int i;
5 int min = 1000, sum,tmp;
6 char ch;
7
8 while(scanf("%d",&n) != EOF){
9 printf("n:%d
",n);
10 if(n == 0) break;
11 getchar();
12 sum = 0; min = 1000;
13 for(i = 0; i < n;i++){
14 tmp = 0;
15 while(1){
16 scanf("%c",&ch);
17
18 if(ch == ' '){
19 tmp++;
20 sum++;
21 }
22 else if(ch == '
')
23 break;
24 }
25 min = min > tmp ? tmp:min;
26 }
27 printf("%d
",(sum - min*n));
28
29 }
30 return 0;
31 }