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;
    }


 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值