语言学习的误区

这两天在上直播课堂,有个挺好学的学生,想写点什么,我说你写个求int数组里最大值的函数吧,写好后,发了过来:
 

Code:
  1. int big ()   
  2. {   
  3.     int max,n,i;   
  4.     printf("输入组数个数:");    
  5.     scanf("%d",&n);   
  6.     int a[n];   
  7.     printf("输入要排的数:");    
  8.     for( i=0;i<n;i++)   
  9.     {   
  10.         scanf("%d",&a[i]);           
  11.     }       
  12.     max=a[0];   
  13.     for(i=1;i<n;i++)   
  14.     {   
  15.         if(max<a[i])   
  16.         max=a[i];           
  17.     }   
  18.     printf("%d",max);   
  19.        
  20.     return max;       
  21. }  

格式还算可以,if语句下面没有用{},小问题,如果按照谭浩强的书,这个代码已经不错了,没什么问题,但这个代码要拿到真实的开发任务里是要被骂死的.让你写个函数是给别的代码用的,不是让你做个求最大值的程序来,看一下我改写后的:

getmax.h

Code:
  1. int getMax(int array[],int n);  

getmax.cpp

 

Code:
  1. int getMax(int array[],int n)    
  2. {   
  3.     int max;
  4.     max=array[0];   
  5.     for(i=1;i<n;i++)   
  6.     {   
  7.         if(max<array[i])   
  8.         {
  9.             max=array[i];
  10.         }           
  11.     }  
  12.     return max;
  13. }
 

testGetMax.cpp
 

Code:
  1. #include <stdio.h>   
  2. #include "getmax.h"   
  3.   
  4. testGetMax()   
  5. {   
  6.       int a[]={234,45,575,32,98,332,-23};   
  7.       int max;   
  8.       max=getMax(a,7); 
  9.       if(max==575)
  10.       {
  11.           printf("The max number of{234,45,575,32,98,332,-23}  is %d/n",max);
  12.           printf("Test success !/n")      
  13.       }  
  14.       else
  15.       {
  16.           printf("Test failure!/n")   
  17.       }
  18. }  
  19. int main(int argv,char * argc[])
  20. {
  21.       testGetMax();
  22. }

不知道大家看完以后是何感想,我觉的如何写代码,是一个很关键的问题,会一点语法,是远远不够的,没有规定说校园里不能用工程化的方法写代码,恐怕是老师舍不得教吧,大家先讨论一下两种写法的优劣,我暂时保留意见.我现在的直播课堂正在讲述相关内容,欢迎参与

评论 49
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值