c语言从键输入5个数求最大值和最小值 只用if(刚学,要最简单的)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c语言从键输入5个数求最大值和最小值 只用if(刚学,要最简单的)相关的知识,希望对你有一定的参考价值。

参考技术A main()

int n,t,max,min;
scanf("%d",&t);
max=min=t;
for(n=1;n<5;++n)

scanf("%d",&t);
if(max<t)max=t;
if(min>t)min=t;

printf("max=%d,min=%d",max,min);

C语言编程题求代码,不会做啊

题目描述从键盘输入若干数据整数(零表示结束),统计出数据个数,以及最大值、最小值和平均值。
用一个函数实现数据输入的功能,其首部为:
int Input(int s[])
Input的参数为输入的数据,函数返回值大于0表示该行输入的数据个数,0表示输入结束。
用一个函数实现求最大值、最小值和平均值的功能,首部为:
void statistics(int n, int s[], int *max, int *min, float *avg)输入从键盘输入若干数据整数(零表示结束)输出统计出数据个数,以及最大值、最小值和平均值 样例输入1 2 3 4 5 0样例输出Num=5
Max=5
Min=1
Avg=3.000

 

一时半会儿没理解你这句话“函数返回值大于0表示该行输入的数据个数,0表示输入结束。”,只能写成这个样了,你稍微改改。

#include<stdio.h> 

int Input(int s[]) 

 int i=0;

    scanf("%d",&s[i]); 

    while(s[i++]!=0)

 

  scanf("%d",&s[i]); 

    

 s[i]='\\0';

 return *s;

 

void statistics(int n, int s[], int *max, int *min, float *avg)

 int i=0,j=0,temp,sum=0;

 temp=s[0];

 for(i=1;i<n;i++)

    if(s[i]>temp) temp=s[i];

 *max=temp;   

 temp=s[0];

 for(i=1;i<n;i++)

    if(s[i]<temp) temp=s[i];

    *min=temp;

    for(i=0;i<n;i++)

  sum+=s[i];

 *avg=(float(sum/(1.0*n)));

 

void main()   

 int num=0,max=0,min=0,data[100];

 float avg=NULL;

 printf("Input(0表示结束):\\n");

    Input(data);

 while(data[num]!='\\0')

  num++;

 statistics(num,data,&max,&min,&avg);

 printf("Num=%d\\nMax=%d\\nMin=%d\\nAvg=%.3f\\n",num,max,min,avg);

 

 

参考技术A 编程大赛的题么?自己想吧,多行输入,多行输出,0结束,编程大赛的破题追问

不是,就一道课后习题而已代码怎么写啊

追答

scanf接受输入,用一个变量存储数据就可以了
int tmp = 0;

while(1)
scanf(" %d", &tmp);
if (tmp == 0) break;

统计数据个数,明白了么,我只加了一个变量而已;
int tmp = 0;
int count = 0;
while(1)
scanf(" %d", &tmp);
if (tmp == 0) break;
count++;


求平均值,你要学会用最少的变量完成某个任务,就像下面这样,但是,你首先要保证不能使程序变得反复无常;
int tmp = 0;
int count = 0;
double avg = 0;
while(1)
scanf(" %d", &tmp);
if (tmp == 0) break;
count++;
avg += tmp;


avg /= count;
最大值最小值,你也只需要这样就行了;
int tmp = 0;
int count = 0;
int max = 0;
int min = 0;
double avg = 0;
while(1)
scanf(" %d", &tmp);
if (tmp == 0) break;
count++;
avg += tmp;
if (max tmp) min = tmp; /* 这里为什么要加else,想不出来去问老师*/

avg /= count;
行了,程序就这么简单,把它拾掇拾掇就OK了;
int func (double *avg, int *max, int *min)

int tmp = 0;
int count = 0;
*avg = 0; *max = 0; *min = 0;
while ( 1)
scanf(" %d", &tmp);
if (tmp == 0) break;
count++;
*avg += tmp;
if (*max tmp) *min = tmp;

*avg /= count;
return count;

主函数:
#include
int main (void)

int count, max, min;

double avg;

while (1)

count = func(&avg, &max, &min);
if (count == 0) break;

printf("%lf, %d, %d\n", avg, max, min);



return 0;

以上是关于c语言从键输入5个数求最大值和最小值 只用if(刚学,要最简单的)的主要内容,如果未能解决你的问题,请参考以下文章

编写一个c语言程序,输入5个数,求它们中最大值和最小值并输出

用C语言,任意输入10个数,求其中的最大值和最小值

C语言 输入5个整数数,求最大和最小值

C语言:输入五个数,求其最大值与最小值

小白.C语言怎么求多个数的最大值

c语言中如何求五个数据中的最小值