如何用c语言编写一个程序 就是有三个数 求最大的一个

三个数 比较大小 求输出的 是最大的一个
任意输出三个数

程序如下:

#include<stdio.h>

int main()

{

int a,b,c,max;

scanf("%d,%d,%d",&a,&b,&c);

max=a;

if(b>a) max=b;

if(b>c) max=b;

else if (c>a) max=c;

printf("max=%d\n",max);

return 0;

}

基本思想:依次选出数组最小的数放到数组的前面。首先从数组的第二个元素开始往后遍历,找出最小的数放到第一个位置。再从剩下数组中找出最小的数放到第二个位置。以此类推,直到数组有序

扩展资料:

C语言经典排序算法

一、交换排序

1、冒泡排序

基本思想:比较相邻的两个数,如果前者比后者大,则进行交换。每一轮排序结束,选出一个未排序中最大的数放到数组后面。

2、快速排序

基本思想:选取一个基准元素,通常为数组最后一个元素(或者第一个元素)。从前向后遍历数组,当遇到小于基准元素的元素时,把它和左边第一个大于基准元素的元素进行交换。在利用分治策略从已经分好的两组中分别进行以上步骤,直到排序完成。下图表示了这个过程。

二、插入排序

1、希尔(shell)排序

基本思想为在直接插入排序的思想下设置一个最小增量dk,刚开始dk设置为n/2。进行插入排序,随后再让dk=dk/2,再进行插入排序,直到dk为1时完成最后一次插入排序,此时数组完成排序。

三、选择排序

1、堆(Heap)排序

基本思想:先把数组构造成一个大顶堆(父亲节点大于其子节点),然后把堆顶(数组最大值,数组第一个元素)和数组最后一个元素交换,这样就把最大值放到了数组最后边。

把数组长度n-1,再进行构造堆,把剩余的第二大值放到堆顶,输出堆顶(放到剩余未排序数组最后面)。依次类推,直至数组排序完成。

四、归并排序

基本思想:归并算法应用到分治策略,简单说就是把一个答问题分解成易于解决的小问题后一个个解决,最后在把小问题的一步步合并成总问题的解。这里的排序应用递归来把数组分解成一个个小数组,直到小数组的数位有序,在把有序的小数组两两合并而成有序的大数组。

参考资料来源:百度百科-C语言

温馨提示:内容为网友见解,仅供参考
第1个回答  2018-12-07
#include<stdio.h>#define MAX(a,b) (a)>(b)?(a):(b)int main(){int a,b,c,max; scanf("%d%d%d",&a,&b,&c); max=MAX(MAX(a,b),c); printf("最大值=%d\n",max); return 0; 

}

#include <stdio.h>
main()
{ int x,y,z;
int max;
printf("Input three numbers:");
scanf("%d%d%d",&x,&y,&z);
max=x;
if(y>max)
max=y;
if(z>max)
max=z;
printf("The max number is %d\n",max);
}

扩展资料:

C语言的运算非常灵活,功能十分丰富,运算种类远多于其它程序设计语言。

在表达式方面较其它程序语言更为简洁,如自加、自减、逗号运算和三目运算使表达式更为简单,但初学者往往会觉的这种表达式难读,关键原因就是对运算符和运算顺序理解不透不全。

当多种不同运算组成一个运算表达式,即一个运算式中出现多种运算符时,运算的优先顺序和结合规则显得十分重要。

在学习中,对此合理进行分类,找出它们与数学中所学到运算之间的不同点之后,记住这些运算也就不困难了,有些运算符在理解后更会牢记心中,将来用起来得心应手,而有些可暂时放弃不记,等用到时再记不迟。

参考资料:C语言-百度百科

本回答被网友采纳
第2个回答  2018-12-19

c语言编写一个程序求三个数中最大的一个代码如下:

#include<stdio.h>

int main()

{

int max(int x,int y,int z);

int a,b,c,d; 

scanf("%d,%d,%d",&a,&b,&c);

d=max(a,b,c);

printf("max=%d\n",d);

return 0;

int max(int x,int y,int z)

{

int e,f;

if(x>y)e=x;

else e=y;

if(e>z)f=e;

else f=z;

return(f);

}

扩展资料:

其他代码如下:

#include<stdio.h>

int max(int x,int y,int z);

int main()

{    int a,b,c,d;    

scanf("%d,%d,%d",&a,&b,&c);     

d = max(a,b,c);    

printf("max=%d\n",d);    

return 0;

}

int max(int x,int y,int z)

{

int e,f;

if(x>y)        

e=x;

else        

e=y;    

if(e>z)        

f=e;    

else        

f=z;    

return(f);

}

本回答被网友采纳
第3个回答  2007-09-09
呵呵,很简单的问题呀,我这里有四种方法,你参考一下
#include<stdio.h>
void main()
{
int a,b,c,max; //这里只能为整形,不能为double型
printf("please input three number a,b,c:\n");
scanf("%d%d%d",&a,&b,&c);

// method one:
max=a;
if(b>=max) max=b;
if(c>=max) max=c;
printf("the max is:%d\n",max);

// method two:
if(a>=b&&a>=c)
printf("the max is %d\n",a);
else if(b>=a&&b>=c)
printf("the max is %d\n",b);
else
printf("the max is %d\n",c);

// method three:
printf("the max is: %d\n",a>=b&&a>=c?a:(b>=a&&b>=c?b:c));

// method four:
int a[3],max=-32768;
for(int i=0;i<3;i++)
{
scanf("%d",&a[i]);
if(a[i]>max) max=a[i];
}
printf("the max is:%d\n",max);
}本回答被提问者和网友采纳
第4个回答  2016-01-26
#include <stdio.h>
int main()
{
int a,b,c,MAX,;
MAX = a>b ? a : b
MAX = MAX>c ? MAX : c
printf("max=%d min=%d",MAX,MIN);
}
原理就是两两比较得出最大的那个数

如何用c语言编写一个程序 就是有三个数 求最大的一个
int a,b,c,max;scanf("%d,%d,%d",&a,&b,&c);max=a;if(b>a) max=b;if(b>c) max=b;else if (c>a) max=c;printf("max=%d\\n",max);return 0;} 基本思想:依次选出数组最小的数放到数组的前面。首先从数组的第二个元素开始往后遍历,找出最小的数放到第一个位置。再从剩下...

怎么用C语言编写一个程序,输入三个数值,然后输出其中最大者。
用if的话,可以这么写:include <stdio.h>int main(void){ int a, b, c, _max; scanf("%d%d%d", &a, &b, &c); if(a > b) { if(a > c) _max = a; else _max = c; } else if(a <= b) { if(b > c) _max = b; el...

怎样用C语言编写这样一个程序:输入三个整数,求其中的最大值?
printf("最大值为%d",max);system("pause");}

怎么用C语言编写一个程序,输入三个数值,然后输出其中最大者。
printf("输入第三个数:");scanf("%d",&c);if(a<b) \/\/比较前两个数,如果第二个数大,就把第一个数换走,否则不换 a=b; \/\/此时第一个数是最大的 if(a<c) \/\/比较第一个数与最后一个数,如果最后一个数大,就把第一个数换走,否则不换 a=c; \/\/此时第一个数是最大...

C语言中三个数求最大值,为什么输入三个数后总是输出第一个数 附代码
\/\/ 比如 %d@%d@%d 输入的三个数就需要用@来隔开 \/\/ include<stdio.h> int max(int a,int b,int c){ int max=a;if (max<b)max=b;if (max<c)max=c;return max;} int main(){ int a,b,c,x;scanf("%d%d%d",&a,&b,&c); \/\/ %d,%d,%d 去掉中间的逗号。x=max(...

c语言 编写一个程序 输入3个数字 出来最大的那个数字
已通过测试。include <stdio.h> main(){ int x,y,z;int max;printf("Input three numbers:");scanf("%d%d%d",&x,&y,&z);max=x;if(y>max)max=y;if(z>max)max=z;printf("The max number is %d\\n",max);}

用c语言输入三个数,怎么输出最大的数。
if (c > max) { max = c;} printf("最大的数是:%d\\n", max);return 0;} ```在这个程序中,首先使用`scanf`函数从控制台输入三个整数,保存在`a`、`b`和`c`三个变量中。接着,使用`if`语句逐个比较这三个数的大小,将最大的数保存在`max`变量中。最后,使用`printf`函数输出最...

编写C语言程序,输入abc3个值,输出其中最大值
要编写一个C语言程序,以输入三个数值a、b和c,然后找出并输出其中的最大值,可以采用嵌套if语句的逻辑。程序的主要步骤如下:首先,从用户那里获取a、b和c的值,然后设定一个默认的最大值为a。接下来,通过嵌套if语句进行比较:首先,比较a和b,如果b大于a,则将b赋值给max。然后,再比较max(即...

如何编写一个程序,计算3个数的最大值?
1、首先在Visual Studio 2019中新建一个C语言文件,如下图所示。2、接着导入如下图所示的库文件,所需要的数学计算函数都在里面。3、然后运用scanf函数来接收用户输入的三个数字,如下图所示。4、接着利用逐个比较的方式计算三个数中的最大值,如下图所示。5、运行编写的C语言文件,会弹出如下图...

C语言设置一个程序,输入三个数,求其中的最大值。。。
include <stdio.h> int main(){ int a[3],max;for(int i=0;i<3;i++){ scanf("%d",&a[i]);} max=a[0];for(i=1;i<3;i++){ if(a[i]>max)max=a[i];} printf("%d\\n",max);return 0;}

相似回答