c语言:输入5个整数,放入数组中,输出最大元素和最小元素的值

如题所述

思路:先定义一个数组,并键盘输入一个数赋值给数组的第一个数,且把该数赋值给最大值和最小数,接着for循环输出剩下4个数,并判断该数和最大值最小值的大小关系,更新最大值和最小值,最后输出最大值和最小值。

参考代码:

#include "stdio.h"
int main()
{
int a[5],max,min,i;
scanf("%d",&a[0]);
max=min=a[0];
for(i=1;i<5;i++){
scanf("%d",&a[i]);
if(max<a[i]) max=a[i];
if(min>a[i]) min=a[i];
}
printf("最大值为:%d,最小值为:%d\n",max,min);       
}
/*
运行结果:
4 1 2 5 7
最大值为:7,最小值为:1
*/
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-11-06
#include<stdio.h>

main()
{
int n,i,max,min;
int a[5];

printf("请输入5个整数:\n");
for(i=0;i<5;i++)
{
scanf("%d",&a[i]);
}

printf("max=\n");
max=a[0];
for(i=1;i<5;i++)
{
if(max<a[i])
max=a[i];
}
printf("%d\n",max);

min=a[0];
for(i=1;i<5;i++)
{
if(min>a[i])
min=a[i];
}
printf("min=\n");
printf("%d\n",min);

}
第2个回答  2011-10-24
#include<stdio.h>
main()
{
int i,a[5],max,min,tmp;
for(i=0;i<5;i++){
printf("Input data%d\n",i);
scanf("%d",&tmp);
a[i]=tmp;
}
max=a[0];
min=a[0];
for(i=1;i<5;i++){
if(a[i]>=max){max=a[i];}
if(a[i]<min){min=a[i];}
}
printf("Max=%d,Min=%d\n",max,min);
getch();
clrscr();
}本回答被网友采纳
第3个回答  2011-10-24
#include <iostream>
#include <limits.h>

#define N 5

void num(int str[N]);
int main (void)
{
int i;
int str[N];
for(i=0;i<N;i++)
{
cin >> str[i];
if ((str[i]>INT_MAX)|(str[i]<INT_MIN))
{
cout << "error,the number you input is overflow"<<endl;
--i;
continue;
}
}
num(str);
return 0;
}

void num(int str[N])
{
int i,m;
int temp = 0;
for(m=0;m<N;m++)
{

for(i=0;i<N;i++)
{
if (str[i]<str[i+1])
{
temp = str[1];
str[i] = str[i+1];
str[i+1] = temp;
}
}
}
cout << "the max number is"<< str[0]<<endl;
cout << "the min nubber is"<< str[N-1]<<endl;
}
第4个回答  2011-10-24
#define max(x,y) x>y?x:y
#define mini(x,y) x?y?y:x
循环5个整数就可以了
相似回答