朝花夕拾-工作一年后重拾c语言基础,与君共勉(二)

来源:互联网 发布:领航软件官网 编辑:程序博客网 时间:2024/05/16 09:58

第一篇我打算用一个与书无关的话题,顺便吐槽一下目前的教育体制。

是一个聊天群里的初中生,貌似学校开了编程的课,在学c语言的第一天,要求在作业中实现求4个数最大值的代码,并要求求最大值的过程在其它函数(子函数)中实现。给了个例子,是求两个值中最大值的。

然后我写了如下代码。

#include <stdio.h>

const int Times = 4;int compare(int* array){int times = Times;int max = 0;for(int i =0; i<times; i++){if(*array > max)max = array[i];array++;}return max;}int main(int argc, char** argv) {int times = Times;int inputNum;int array[Times];for(int i=0; i<times; i++){scanf("%d",&inputNum);array[i] = inputNum;}printf("%d",compare(array));return 0;}

思路明显是传递一个数组参数,在子函数中求最大值。被问到怎么计算的时候,说明了比max大的就赋值给max。几个数求最大值就把Times改成几就可以了。

当我还在想老师一定会发现的时候,他又问了我,就是赋值呗,我说是的,然后给了我下面的代码

int main(){  int a,b,c,d,max;  scanf("%d,%d,%d,%d",&a,&b,&c,&d);     max = a;  if(max<b)    max = b;  if(max<c)    max = c;  if(max<d)    max = d;printf("%d",max);} 

想了想,确实也就是这样,这可是一个第一天学习c语言的人写出来的,所以感觉有时候我们把事情想的太复杂,过于追求形式,过于拘泥于过去的经验。

忽略了事情本来的样子。

0 0