㈠ C语言程序设计中如何比较三个数的大小
思路:比较三个数的大小可以先求出最大值和最小值,这样中间数就是三个数的和减去最大数和最小数。
参考代码:
#include<stdio.h>
intmain()
{
inta,b,c,max,min;
scanf("%d%d%d",&a,&b,&c);
max=(a>b?a:b)>c?(a>b?a:b):c;
min=(a<b?a:b)<c?(a<b?a:b):c;
printf("三个数按从小到大顺序为:%d%d%d ",min,a+b+c-min-max,max);
return0;
}
/*
输出:
816
三个数按从小到大顺序为:168
*/
㈡ 设计算法找出三个数中的最大值
有a,b,c三个数,比较它们的大小
方法一,按顺序两两比较,取较大的
if (a > b) {
max = a;
} else {
max = b;
}
if (max < c) {
max = c;
}
方法二,假设第一个是最大的,与后面两个数进行比较,将较大的值赋给max
int max = a;
if (b > max) {
max = b;
}
if (c > max) {
max = c;
}
1、什么是算法
算法(algorithm):就是定义良好的计算过程,他取一个或一组的值为输入,并产生出一个或一组值作为输出。简单来说算法就是一系列的计算步骤,用来将输入数据转化成输出结果。
mark:我们可以把所有的算法想象为一本“菜谱”,特定的算法比如菜谱中的的一道“老醋花生米”的制作流程,只要按照菜谱的要求制作老醋花生米,那么谁都可以做出一道好吃的老醋花生米。so,这个做菜的步骤就可以理解为:“解决问题的步骤”
2、算法的意义
假设计算机无限快,并且计算机存储容器是免费的,我们还需要各种乱七八糟的算法吗?如果计算机无限快,那么对于某一个问题来说,任何一个都可以解决他的正确方法都可以的!
当然,计算机可以做到很快,但是不能做到无限快,存储也可以很便宜但是不能做到免费。
那么问题就来了效率:解决同一个问题的各种不同算法的效率常常相差非常大,这种效率上的差距的影响往往比硬件和软件方面的差距还要大。
3、如何选择算法
第一首先要保证算法的正确性
一个算法对其每一个输入的实例,都能输出正确的结果并停止,则称它是正确的,我们说一个正确的算法解决了给定的计算问题。不正确的算法对于某些输入来说,可能根本不会停止,或者停止时给出的不是预期的结果。然而,与人们对不正确算法的看法想反,如果这些算法的错误率可以得到控制的话,它们有时候也是有用的。但是一般而言,我们还是仅关注正确的算法!
第二分析算法的时间复杂度
算法的时间复杂度反映了程序执行时间随输入规模增长而增长的量级,在很大程度上能很好反映出算法的好坏。