uva 414 Machined Surfaces

小结:

 1  英语太烂,看不懂意思,百度的,汗

 2  语法不好,不能定义如 count[a],之类的,以后用const吧

 3 用for循环时,i < a , 自己总是把a 和 i 弄混了

     for ( i = 0; i < a; i++){
               for ( j = 0; j < 25; j++){
                   if(s[i][j] == ' ') count[i]++;//    这边将count[i] 写成 count[a]  完全是粗心啊
                   }
               }

 4 代码写的繁杂,在网上找了个,真棒,输入时就开始判断,并且同时比较大小,以后学学

 5 题目完全不难,可是从写到AC也有一个多小时接近两小时的时间,蛋疼

先给出网上的自己感觉不错的那个的链接

http://blog.sina.com.cn/s/blog_867764f70100svh5.html#5770

我的那繁杂的代码如下,冒泡可以用qsort,我是为了多练练冒泡的:

#include<stdio.h>
#include<stdlib.h>


int main (){
    
    int a,i,j;
    while (scanf("%d",&a) == 1){
          if ( !a ) break;
          char s[15][30];
          int count[15],sum=0;
          memset(count,0,sizeof(count));
          getchar();
          for (  i = 0; i < a; i++)
              gets(s[i]);    
              
          for ( i = 0; i < a; i++){
               for ( j = 0; j < 25; j++){
                   if(s[i][j] == ' ') count[i]++;
                   }
               }
          int t;
           for ( i = 0; i < a-1; i++)
               for ( j = 0; j < a-i-1; j++){
                   if(count[j]>count[j+1]) 
                       {
                          t = count[j];
                          count[j] = count[j+1];
                          count[j+1] = t;
                       }
           
                   }    
               
           for ( i = 1; i < a; i++){
               sum += count[i] - count[0];
               }
           printf("%d\n",sum);
          }
    return 0;
    }


 

 

你可能感兴趣的:(uva 414 Machined Surfaces)