输入三个数,输出最大的数
时间: 2024-06-12 13:08:34 浏览: 98
方法五代码如下:
#include <stdio.h>
void main( ) {
int i,j,arr;//定义变量以及初始化数组
printf("请输入三个整数:");
for(i=0;i<3;i++){
scanf("%d",&arr[i]);
}//给数组赋值,输入3个整数
j=arr;//初始化数组的最大值为arr
for(i=0;i<3;i++){
if(j<arr[i+1]){
j=arr[i+1];
}
}//找到数组的最大值,也就是3个整数的最大值
printf("数组最大值为%d",j);//输出数组的最大值,也就是3个整数的最大值
}
方法四代码如下:
#include <stdio.h>
#define N 3
void main(){
int arr[N];//定义一维数组
int i,d;//定义变量
printf("请输入三个整数:");
for(i=0;i<3;i++){
scanf("%d",&arr[i]);
}//从键盘输入数值,给一维数组赋值
printf("数字从小到大排序为:");
printf("\n");
for(i=0;i<N;i++){
if(arr[i]>arr[i+1]){
d=arr[i];
arr[i]=arr[i+1];
arr[i+1]=d;
}
}//使用冒泡排序法,按从小到大排序
for(i=0;i<N;i++){
printf("%d\t",arr[i]);
}//输出按从小到大排序完的数字
printf("\n");
printf("三个整数的最大值为%d",arr[N-1]); //一维数组的最后一个值就是三个整数的最大值,所以输出arr[N-1];
}
方法三代码如下:
#include <stdio.h>
int ptr(int *x, int *y,int *z ){//这三个指针形参会接收主函数传来的三个数字的地址
int d,e;
d=*x>*y?*x:*y;//三元运算符
e=d>*z?d:*z;//三元运算符
return e;//返回e的值,e的值就是三个整数最大的值
}
void main(){
int a,b,c,m;
scanf("%d%d%d",&a,&b,&c);
m=ptr(&a,&b,&c);//调用子函数,实参的值为数字对应的地址
printf("三个整数的最大值为%d",m);//打印输出三个整数的最大值
}
输入三个数,输出最大的数的方法有多种。以上代码中,方法五使用了for循环遍历数组,找到最大值并输出;方法四使用了冒泡排序法,将数字从小到大排序后,输出最大值;方法三使用了指针形参接收三个数字的地址,比较大小后返回最大值。
阅读全文