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

最大最小值c语言不用数组

发布时间: 2023-02-27 15:09:53

c语言编程:输入n个整数,求其中最大值和最小值,并输出他们俩对应的序号,不用数组。 这个怎么写呀

#include<stdio.h>
#include<math.h>
intmain()
{intn,i,x,max,min,i1=0,i2=0;
scanf("%d",&n);
for(i=0;i<n;i++)
{scanf("%d",&x);
if(i==0)max=min=x;
elseif(x>max){max=x;i1=i;}
elseif(x<min){min=x;i2=i;}
}
printf("最大的数是第%d个,是%d 最小的数是第%d个,是%d ",i1+1,max,i2+1,min);
}

⑵ 不用数组,只用循环语句如何用C语言写输入1~5五个数字,输出最大值最小值的程序

声明一个存放最大值的变量max,再声明一个存放最小值的变量min。输入第一个数字后,把它同时赋给max和min,以后每输入一个数字都和max、min分别比较,把比max大的赋给max,把比min小的赋给min,这样就保证max是所输入的数字中值最大的,而min是输入的数字中值最小的,最后输出max和min即可。代码如下:

#include"stdio.h"
#include"stdlib.h"
intmain(intargc,char*argv[]){
inti,n,max,min;//用max记录输入数字中的最大值,min记录最小值
printf("PleaseinputsomeNumbers(Otherend,)... ");
printf("(Inputmorethan5,onlyfortheprevious5) ");
for(i=0;i<5;i++){
if(scanf("%d",&n)!=1)//输入非数字则结束
break;
if(i>0&&i<5){
if(max<n)//保证max是所输入的数字中最大的
max=n;
if(min>n)//保证min是所输入的数字中最小的
min=n;
printf("%d",n);
}
else
printf("Yourinputis:%d",max=min=n);//第一个数字同时赋给max和min
}
if(i)
printf(" TheMAXis%d TheMINis%d ",max,min);
else
printf(" Noinputdigital... ");
return0;
}

运行样例如下:

⑶ C语言,求n个数得的最大值,最小值,平均值,用函数,不要用数组

#include"stdio.h"

structnumber
{
floatvalue;//值
structnumber*next;//指向后继
};

structnumber*head=NULL;//头指针
structnumber*p1;//活动指针
structnumber*p2;//尾指针

floatmax,min,sum,count;//最大值、最小值、和、数量

//输入数值
voidinput()
{
for(;;)
{
//申请内存空间并赋值
p1=(structnumber*)malloc(sizeof(structnumber));
scanf("%f",&p1->value);
p1->next=NULL;

//判断是否等于-1
if(p1->value==-1)
{
free(p1);
return;
}

//判断头指针是否为空
if(head==NULL)
head=p1;
else
p2->next=p1;
p2=p1;
}
}

//求最大值、最小值、和、数量
voidmaxMin()
{
//初始化三个值
p1=head;
max=min=p1->value;
sum=count=0;

while(p1!=NULL)
{
//找最大值
if(p1->value>max)
max=p1->value;

//找最小值
if(p1->value<min)
min=p1->value;

sum+=p1->value;//求和
count++;//数量
p1=p1->next;
}
}

//输出所有值
voidprint()
{
p1=head;
while(p1!=NULL)
{
printf("%g",p1->value);
p1=p1->next;
}
printf(" ");
}

intmain()
{
printf("请连续输入n个整数,输入-1结束 ");
input();
printf("************** ");
maxMin();
printf("最大值=%g ",max);
printf("最小值=%g ",min);
printf("平均值=%g ",sum/count);
}

⑷ 输入20个数,求其中最大数和最小数 c语言 不用数组 用循环结构

C语言语法记不太清了,给你写一个pseudocode。

其实这个就是一个简单的排序题,排序算法不限。建议使用最符合直觉的选择排序。
考虑到不能使用数组,那就只能在每次输入时比较,立即出结果
input 一个数, prev为输入的上一个数
int MAX = prev;
int MIN = prev;
if(curr > MAX){ MAX = curr;}
else if(curr < MIN){MIN = curr;}
最后MAX里就是最大的数,MIN就是最小的数

⑸ 利用C语言求n个整数中的最大值、最小值、累加和与平均值

可以不用数组实现.
#include
void
main()
{
int
i;
float
tmp,
max
=
-32768.0,
min
=
32767.0,
sum
=
0.0;
for
(i
=
0;
i
<
10;
i++)
{
scanf
("%f",
&tmp);
if
(tmp
>
max)
max
=
tmp;
if
(tmp
<
min)
min
=
tmp;
sum
+=
tmp;
}
printf
("最大值为:%.1f\n",
max);
printf
("最小值为:%.1f\n",
min);
printf
("平均值为:%.1f\n",
(sum
-
max
-
min)
/
8);
}