鉴于在学校弱弱的接触过C,基本上很少编程,C语言基础太薄弱。刚好目前从事的是软件编程,难度可想而知。严重影响工作效率,已无法再拖下去了。为此,痛下决心恶补C语言。此前只停留在看书,光看好像也记不住,C这东西毕竟是练出来的,所以从今天开始,每日一道C语言题目,从题目入手来补知识漏洞。题目比较基础,如不堪入目,还请见谅。

1.题目:输入三个整数,输出最大的数

2.思路:定义三个变量用来存储输入的整数

比较三个变量的大小,找到最大的数

定义一个变量存储来存储最大的数

3.程序:

 #include <stdio.h>

 int maxium(int a,int b,int c)
{
int max = ; max = a>b ? a:b;//三目运算符,两两相比较,max保存大的数
max = max>c ? max:c;//三目运算符,大的数与剩下的数作比较
return max;
}
void main()
{
int a = ; //定义三个变量a、b、c来保存输入
int b = ;
int c = ;
int max = ;//定义变量max来保存最大数
printf("请输入任意三个数:");
scanf("%d",&a);//输入三个数
scanf("%d",&b);
scanf("%d",&c);
max = maxium(a,b,c);//调用获取最大数
printf("三个数中最大的数是:%d\n",max); }

4.改进:

求最大数的函数不必设三个输入参数,假设是10个数或者是更多的数来比较呢?难道输入参数也要设置为10个吗?比较明智的办法是求最大数的函数设置为两个输入参数,尽做两两比较,然后递归调用这个函数即可。

 #include <stdio.h>
/*
int maxium(int a,int b,int c)
{
int max = 0; max = a>b ? a:b;//三目运算符,两两相比较,max保存大的数
max = max>c ? max:c;//三目运算符,大的数与下一个数作比较
return max;
}*/
int maxium(int a,int b)
{
int max = ;
max = a>b ? a:b;
return max;
}
void main()
{
int a = ; //定义三个变量a、b、c来保存输入
int b = ;
int c = ;
int max = ;//定义变量max来保存最大数
printf("请输入任意三个数:");
scanf("%d",&a);//输入三个数
scanf("%d",&b);
scanf("%d",&c);
// max = maxium(a,b,c);//获取最大数
max = maxium(maxium(a,b),c);//获取最大数
printf("三个数中最大的数是:%d\n",max); }

5.延伸:如果是更多的数呢?比如10个数?

 #include <stdio.h>

 int maxium(int a,int b)
{
int max = ;
max = a>b ? a:b;
return max;
} void main()
{
int nInput[] = {};//定义一个数组来存放10个数并且初始化
int max = ;
printf("请输入任意10个数:");
for(int i=;i<;i++)
{
scanf("%d",&nInput[i]);
max = maxium(max,nInput[i]);//循环调用求最大数函数,将最大值存放在max里再参与下次比较
}
printf("10个数中最大的数是:%d\n",max);
}

由以上代码发现语法错误:数组初始化问题

int nInput[10] = {};是肯定不对的

正确的初始化方法:

int nInput[10] = {0};

那么接下来有问题的是:max的初始值为0,让这10个数与从0开始一次比较,那假如这10个数都比0小呢?那输出的结果等于0.很显然,这是不行的,因为10个数中并没有0这个数。max的初始值应该为第一个数,但是如果在循环里把第一个数赋给max作为初始值,那么每次循环的时候max都被初始化,循环调用maxium(int a,int b)就失去了意义。到底怎样写才会简洁呢?

6.知识点:

数组初始化

printf()

C语言每日一题之No.1的更多相关文章

  1. C语言每日一题之No.9

    再做决定之前,我还是做好自己该做的.我不希望几年后会悔恨自己为什么在最该努力的时候不愿意吃苦.尊敬的女王陛下,请接题: 一.题目:有已按升序排好顺序的字符串a,编写程序将字符串s中的每个字符按升序的规 ...

  2. C语言每日一题之No.8

    正式面对自己第二天,突然一种强烈的要放弃的冲动,在害怕什么?害怕很难赶上步伐?害怕这样坚持到底是对还是错?估计是今天那个来了,所以身体激素有变化导致情绪起伏比较大比较神经质吧(☆_☆)~矮油,女人每个 ...

  3. C语言每日一题之No.4

    这几天老大也没安排我什么项目,于是想正好趁着空补C.当然,是利用晚上加班时间,白天正常上班时间还是学习公司的平台. 今儿个突然弱弱的感觉到在公司补C是件很低级的事情,哪怕是在加班时间都会被喷,因为大家 ...

  4. C语言每日一题之No.3

    几天下来,感慨学习要坚持下来真的是件很难的事,本来说了每天一题,可是毕竟这是个细活,需要用心雕琢,有时候真的不能当天拿下来>_<.虽然说只是一题,却涉及到很多小细节,慢慢的琢磨直至完全摸透 ...

  5. C语言每日一题之No.12

    文件操作知识:如何将一个文件的内容读取到另一个文件里? fread函数和fwrite函数   1.函数功能   用来读写一个数据块. 2.一般调用形式   fread(buffer,count,siz ...

  6. C语言每日一题之No.7

    今天是正式第一天在现有的世界里与自己相处,你再也没有另一个世界可以躲避了.终于要自己面对自己了,一个人要真实的面对自己的灵魂总是痛苦的.从学校到社会的环境转换,现实与理想的冲突,个人价值观和社会价值观 ...

  7. C语言每日一题之No.6

    人总要战胜内心的懦弱的,我不能一直这么缩在里边.终究向自己发出了挑战,还是会伤心的时候,发愣的时候.如果可以,我也希望像盗梦空间的女主一直沉在两个人的梦里永远不要醒来.可是,我们谁又能抗拒时间呢?这雨 ...

  8. C语言每日一题之No.5

    总在想,但凡编程基础正常点,都不至于惨败到这个地步.也像大多数人毕业出来,新鲜的第一份工作,如果做得好还可以略有成就感,做得一般还有提升的空间,但至少不至于像我这样基本没基础的被鄙视得一塌糊涂,被外界 ...

  9. C语言每日一题之No.2

    题目:已知三个整型数8,12,6,按公式s=a+b*c计算,并显示结果 思路:定义三个整型变量a,b,c 定义一个变量s用来保存运算结果 输出 程序: #include <stdio.h> ...

随机推荐

  1. RelativeLayout用到的一些重要的属性

    第一类:属性值为true或false android:layout_centerHrizontal                                           水平居中    ...

  2. my Style

    1. box-sizing语法: box-sizing : content-box || border-box || inherit 参数取值: content-box:此值为其默认值,其让元素维持W ...

  3. Vue.js相关知识1

    <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...

  4. 作业:用HTML制作邮箱登陆界面

    <body leftmargin="200" rightmargin="200"> <font size="45" > ...

  5. 【BZOJ1007】【HNOI2008】水平可见直线

    依旧看黄学长代码,不过这回是看完后自己写的 原题: 在xoy直角坐标平面上有n条直线L1,L2,...Ln,若在y值为正无穷大处往下看,能见到Li的某个子线段,则称Li为可见的,否则Li为被覆盖的.例 ...

  6. 修改host文件屏蔽视频广告和网站

    很多时候我们会需要屏蔽一些网站或者广告,类似XX网站,下木马病毒的网站,或者破解软件的时候.我们可以使用一些软件屏蔽,我这里是用windows系统自带的hosts文件来屏蔽的.这个文件有点类似精简版的 ...

  7. printf 格式化输出符号详细说明(转)

    %a             浮点数.十六进制数字和p-记数法(C99)%A 浮点数.十六进制数字和p-记法(C99)%c 一个字符(char) %C           一个ISO宽字符 %d 有符 ...

  8. 100 open source Big Data architecture papers for data professionals

    zhuan :https://www.linkedin.com/pulse/100-open-source-big-data-architecture-papers-anil-madan Big Da ...

  9. data pump (数据抽取)测试

    背景介绍>利用db_link直接pump抽取,减少转储文件集. 前提:   授权>  grant create public database link,create database l ...

  10. nginx和apache配置目录浏览功能

    今天工作需要,要给客户提供一个patch的下载地址,于是想用nginx的目录浏览功能来做,需要让客户看到指定一个目录下的文件列表,然后让他自己来选择该下载那个文件: 我们都知道在apache下可以配置 ...