‘壹’ c语言三个数求最大
max函数里的if(x>y>z)那样写编译器是不会检查出错误,但不能实现你要的“求三个数的最大者”,c里的x>y>z跟数学里的x>y>z意思是不一样的。。如假设:x=3,y=2,z=1;c里的if(x>y>z)是从左到右先判断第一个“>”,即判断x>y,因为x=3,y=2,所以x>y为真,x>y的值1,那么x>y>z中第二个“>”号就变成判断1>z,z=1,所以1>z就为假,虽然3>2>1,但if(x>y>z)还是为假。。。
max函数可以这样写,方法不唯一,能理解就可以:
int
max(int
x,int
y,int
z)
{
int
max;
max=x>y?x:y;
max=max>z?max:z;
return
max;
}
‘贰’ C语言3个数求最大值怎么写啊!!!我搞了半天都不行!
参考代码
#include <stdio.h>
int main(void) {
int a,b,c;
scanf("%d %d %d",&a,&b,&c);// 输入3个数
int max = a;//默认最大值为a
//选出a,b中的最大值
if(max<b)
max = b;
//将前两个中最大值与c比较,得出真正的最大值
if(max < c)
max = c;
printf("%d",max);//输出最大值
return 0;
}
运行截图
‘叁’ c语言求三个数最大值
不常规方法:用函数指针变量调用函数
#include<stdio.h>
int max(int x,int y)
{
return (x>y?x:y);
}
main()
{
int (*p)(int,int); //定义p是指向函数的指针变量
int a,b,c,d;
p=max;//使p指向函数max
printf("输入3个数\n");
scanf("%d %d %d",&a,&b,&c);
d=(*p)(a,b);//通过指针变量p调用max函数
printf("max=%d\n",(*p)(d,c));
}
方法一:交换两个数
#include "stdio.h"
int main()
{ int a,b,c,t;
printf("输入3个数\n");
scanf("%d %d %d",&a,&b,&c);
if(a>b)
{t=a;a=b;b=t;}
if(a>c)
{t=a;a=c;c=t;}
if(b>c)
{t=b;b=c;c=t;}
printf("max=%d\n",c);
printf("%d %d %d",a,b,c);
}
方法2条件表达式,书上例题,
#include "stdio.h"
int main()
{
int max();//函数声明
extern int A,B,C; //外部变量声明
printf("输入3个数\n");
scanf("%d %d %d",&A,&B,&C);//输入外部变量的值
printf("max is %d\n",max());
}
int A,B,C;//定义外部变量
int max()
{
int m;
m=A>B?A:B;
if(C>m)
m=C;
return m;
}
以上可以改为
#include<stdio.h>
main()
{
int a,b,c;
printf("输入3个数\n");
scanf("%d %d %d",&a,&b,&c);
if(c>(a>b?a:b))
printf("max=%d\n",c);
else
printf("max=%d\n",a>b?a:b);
}
3 定义max函数
#include<stdio.h>
int max(int x,int y)
{
if (x>y) //或者直接语句return (x>y?x:y);
return x;
return y;
}
main()
{
int a,b,c,d;
printf("输入3个数\n");
scanf("%d %d %d",&a,&b,&c);
d=max(max(a,b),c);
printf("max=%d\n",d);
}
‘肆’ 怎么用C语言编写一个程序,输入三个数值,然后输出其中最大者
#include <stdio.h>
int main()
{
int a,b,c;//定义三个整形变量用来存储那从键盘输出的三个数
printf("请输入3个数:");//提示语
scanf("%d %d %d",&a,&b,&c);//从键盘输出三个数到a,b,c中
int max;
//下面是最简单的if循环求出这三个数最大值存入max中
if(a>b)
{
if(a>c)
{
max=a;
}
else
{
max=c;
}
}
else
{
if(b>c)
{
max=b;
}
else
{
max=c;
}
}
printf("这三个数的最大数为: %d\n",max);
return 0;
}
‘伍’ 怎么用C语言编写一个程序,输入三个数值,然后输出其中最大者。
用if可以这么写:
#include<stdio.h>
intmain(void)
{
inta,b,c,_max;
scanf("%d%d%d",&a,&b,&c);
if(a>b)
{
if(a>c)
_max=a;
else
_max=c;
}
elseif(a<=b)
{
if(b>c)
_max=b;
else
_max=c;
}
printf("Max:%d ",_max);
return0;
}
用qsort函数可以快速排序,算法如下:
#include<stdio.h>
#include<stdlib.h>
intcmp(constvoid*a,constvoid*b)
{
return(*(int*)a-*(int*)b);
}
intmain(void)
{
inta[4];
for(inti=0;i<3;i++)
scanf("%d",&a[i]);
qsort(a,3,sizeof(a[0]),cmp);
printf("Max:%d",a[2]);
return0;
}
还有更多的方法就不说了。。
‘陆’ 编写一个C程序,运行时输入a,b,c三个值,输出其中值最大者
#include<stdio.h>
int main()
{
int a,b,c,max;
printf("请输入三个数: ");
scanf("%d%d%d",&a,&b,&c);
if(a>b)
max=a;
if(c>max)
max = c;
printf("三个数中最大的数为:%d",max);
return 0;
}
(6)c语言运行三个值的最大者扩展阅读:
主要特点:
1,简洁的语言
C语言包含有各种控制语句仅有9种,关键字也只有32 个,程序的编写要求不严格且多以小写字母为主,对许多不必要的部分进行了精简。
2,具有结构化的控制语句
C语言是一种结构化的语言,提供的控制语句具有结构化特征,如for语句、if⋯else语句和switch语句等。可以用于实现函数的逻辑控制,方便面向过程的程序设计。
3,丰富的数据类型
C语言包含的数据类型广泛,不仅包含有传统的字符型、整型、浮点型、数组类型等数据类型,还具有其他编程语言所不具备的数据类型,其中以指针类型数据使用最为灵活,可以通过编程对各种数据结构进行计算。
4,丰富的运算符
c语言包含34个运算符,它将赋值、括号等均视作运算符来操作,使C程序的表达式类型和运算符类型均非常丰富。
5,可对物理地址进行直接操作
C语言允许对硬件内存地址进行直接读写,以此可以实现汇编语言的主要功能,并可直接操作硬件。
6,代码具有较好的可移植性
c语言是面向过程的编程语言,用户只需要关注所被解决问题的本身,而不需要花费过多的精力去了解相关硬件,且针对不同的硬件环境。
7,可生成的高质量目标代码,高执行效率的程序
与其他高级语言相比,C语言可以生成高质量和高效率的目标代码,故通常应用于对代码质量和执行效率要求较高的嵌入式系统程序的编写。
‘柒’ 怎么用C语言编写一个程序,输入三个数值,然后输出其中最大者。
#include
int
main()
{
int
a,b,c;//定义三个整形变量用来存储那从键盘输出的三个数
printf("请输入3个数:");//提示语
scanf("%d
%d
%d",&a,&b,&c);//从键盘输出三个数到a,b,c中
int
max;
//下面是最简单的if循环求出这三个数最大值存入max中
if(a>b)
{
if(a>c)
{
max=a;
}
else
{
max=c;
}
}
else
{
if(b>c)
{
max=b;
}
else
{
max=c;
}
}
printf("这三个数的最大数为:
%d\n",max);
return
0;
}
‘捌’ c语言,三个数输出最大值
#include <stdio.h>
#define max(a,b) (a>b?a:b)
int main(){
int a,b,c;
scanf("%d %d %d",&a,&b,&c);
printf("%d ",max(max(a,b),c));
return 0;
}
(8)c语言运行三个值的最大者扩展阅读:
JAVA得到数组中最大值和最小值的简单实例
public class TestJava4_3
{
public static void main(String args[])
{
int i,min,max;
int A[]={74,48,30,17,62}; // 声明整数数组A,并赋初值
min=max=A[0];
System.out.print("数组A的元素包括:");
for(i=0;i<A.length;i++)
{
System.out.print(A[i]+" ");
if(A[i]>max) // 判断最大值
max=A[i];
if(A[i]<min) // 判断最小值
min=A[i];
}
System.out.println(" 数组的最大值是:"+max); // 输出最大值
System.out.println("数组的最小值是:"+min); // 输出最小值
}
}
该程序输出结果:
数组A的元素包括:74 48 30 17 62
数组的最大值是:74
数组的最小值是:17