当前位置:首页 » 编程语言 » 如何用c语言从几个数选最值
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

如何用c语言从几个数选最值

发布时间: 2022-07-17 09:43:29

A. 如何用c语言的四个if语句从四个整数找到最大值和最小值

首先,你的程序由于定义了变量a,又定义了数组a,而此时数组名a不是变量,与前面定义的变量a重复,只要把数组名a改成非a,b,c,maax,min,i,j的其他字母就行啦但是修改后的程序只能输入数据,不能输出结果。其中一个很明显的错误就是第7行i=1,数组是从下标0开始,很明显你只能存储2个数。经过一番调试,如果你非得用数组解题,可用如下程序:#include <stdio.h>
void main()
{
int i,j,a[3],t;for (i=0;i<3;i++)
{printf("请输入第%d个数的值:",i+1);scanf("%d",&a[i]);printf("\n");}for(i=0;i<2;i++)
for(j=i+1;j<=2;j++)
if(a[i]<a[j])
{
t=a[i];
a[i]=a[j];
a[j]=t;
}printf("最大值为%d\n",a[0]);
printf("最小值为%d\n",a[2]);
}程序结果: 对于你后来问到的为什么改后的程序没错而能运行的问题,是因为你定义了一个含有三个元素的数组,而元素下标只能从0-2,而你编的时候刚好写多了一个a3,所以程序对于a1和a2还能分配存储空间,但是对于a3这个额外生出的数据就不知道往哪里存储;还有,你下面进行比较是从a0开始,而这个变量又没分配数值,无法进行比较,所以就无法输出结果 如果你真的很想用abc三个变量和if语句,那么下面这个程序应该适合你,程序如下:#include <stdio.h>
void main()
{
int a,b,c,t;
printf("输入a、b、c的值(用空格分开):");
scanf("%d %d %d",&a,&b,&c);
if(a<b)t=b,b=a,a=t;
if(a<c)t=c,c=a,a=t;
if(b<c)t=c,c=b,b=t;
printf("最大数:%d\n",a);
printf("最小数:%d\n",c);
}程序结果: 这种题目我看用if语句就最简单啦,至于用到数组和函数调用就有点大题小做。其实函数调用只是if语句的浓缩。

B. 怎样用C语言编一个程序从a,b,c三个数中选出最大的

#include <stdio.h>
int main()
{
int a,b,c,MAX,MIN;
MAX = a>b ? a : b
MAX = MAX>c ? MAX : c
MIN = a<b ? a : b
MIN = MAX<c ? MIN : c
printf("max=%d min=%d",MAX,MIN);
}
两两比较,然后输出最大的数就可以了。

C. 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;

}

运行截图

D. 请问 怎样用C语言求三个数的数的最大值 具体的运行的程序是怎样的

*题目:求三个整数的最大值,C语言*/
#include
<stdio.h>
int
max(int
a,int
b){return
a>b?a:b;}/*此函数返回最大值*/
int
main()
{
int
n1,n2,n3;
printf("请输入三个整数,以空格分隔:");
scanf("%d%d%d",&n1,&n2,&n3);
printf("max
int=%d\n",max(max(n1,n2),n3));
return
0;
}
结果
wh@wh-ubuntu704:~$
vim
test5.c
wh@wh-ubuntu704:~$
cc
-o
test5
test5.c
wh@wh-ubuntu704:~$
./test5
请输入三个整数,以空格分隔:3
9
5
max
int=9

E. c语言中如何从一大堆数据中筛选最大的

1.把这“一大堆”数放进一个数组。
2.把数组的第一个元素看作最大数赋给变量max。
3.从数组的第二个元素开始与max比较,若元素值比max大则把这个元素值赋给max。
4.遍历后max则为最大的。

F. c语言编程,求abc三个数的最大值

1、首先是鼠标选择单击C语言编程软件创建一个空的C语言文件。

G. 怎样用C语言编出在n个数里找最大值的程序

找最大的值
max=0;
for(int i=0;i<n;i++) if(max<a[i]) max=a[i]; printf("%d",max);
找最小的值
min=100;
for(int i=0;i<n;i++) if(min>a[i]) min=a[i]; printf("%d",min);
找某个值
scanf("%d",&value);
for(int i=0;i<n;i++) if(a[i]==value) {printf("%d",i);break;}

H. 如何用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 ",max);

return 0;

}

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

(8)如何用c语言从几个数选最值扩展阅读:

C语言经典排序算法

一、交换排序

1、冒泡排序

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

2、快速排序

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

二、插入排序

1、希尔(shell)排序

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

三、选择排序

1、堆(Heap)排序

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

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

四、归并排序

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