输入m个数,求其最大数、最小数和平均值。

作者&投稿:进荔 (若有异议请与网页底部的电邮联系)
C语言:输入n个数,求其最大数、最小数和平均值。~

本次课程我们主要讲解使用C语言如何实现求若干个数的最大数和最小数,首先我们讲解一下设计思路和伪代码,之后为大家详细展示源码,最后为大家分享一些这类程序的设计思路,欢迎大家加入程序员小白学开发一起学习!

scanf("%ld",&a);
if(a=='s')
break;

a是long型,如果你的输入是以字符's'结束的,那么导导致scanf出错,IO出错后,后面的printf也将不执行.如果你输的全是数字,而正好等于's'的ASCII码时,break后printf是可以执行的.

建议你设一个特殊值(如-1)来判断是否输入结束,或者先以字符串形式获取输入,先判断第一个数字是否为's',不是's'则将其转换为int型进行计算.

/*6、输入学生8门考试成绩保存在数组里,
输出这个学生的总分和平均分,以及最高分和最低分;*/
#include <stdio.h>
void main()
{
int a[8];//定义长度为八的一维数组存学生的八门考试成绩
int sum=0,avg=0;//sum为成绩之和,avg为平均分
int max=0,min=101;//max为最高分,min为最低分(假设最高分为100分)
int i;
printf("请输入该学生的八门考试成绩:\n");

for(i=0;i<8;i++)
{
scanf("%d",&a[i]);//输入八门成绩
sum=sum+a[i];//求成绩总分

if(max<a[i])
{
max=a[i];//求最高分
}

if(min>a[i])
{
min=a[i];//求最低分
}
}
avg=sum/8;//求平均分
printf("总分为%d\n平均分为%d\n最高分为%d\n最低分为%d\n",sum,avg,max,min);

}

#include<stdio.h>
void main()
{int a[32767],i,temp,m=0,max,min,sum,aver/*组大小可以自定,注意int表值范围*/
printf("please input m:");
scanf("%d",&m);
printf("Please input the %d numbers:\n",m);
for(i=0;i<m;i++)
{canf("%d",a[i]);sum+=a[i];}
aver=sum/m;
for(i=0;i<m-1;i++)
if(a[i]>a[i+1]){temp=a[i],a[i]=a[j];a[j]=temp;}
max=a[m-1];
for(i=1;i<m-1;i++)
if(a[i]<a[i+1]){temp=a[i],a[i]=a[j];a[j]=temp;}
min=a[m-1];
printf("the maximum number is %4d\n",max);
printf("the minimum number is %4d\n",min);
printf("the average of %d numbers is %4d\n",m,aver);
}

#include<stdio.h>
main()
{
char c;
int n=1;
float big,small,aver=0,temp;
printf("input m number:\n");
do{
printf("the %dth one:\n",n++);
scanf("%f",&temp);
if(n==1)big=small=temp;
aver=(aver*(n-1)+temp)/n;
if(temp>big)big=temp;
else if(temp<small)small=temp;
printf("press anykey to continue; 'f' to finish\n");
}while(getchar()!='f');
printf("the biggest one is : %f\n",big);
printf("the smallest one is : %f\n",small);
printf("the average is : %f\n",aver);
}

#include<iostream.h>
void main()
{
int m,i,max,min,s=0,t;
float ave;
cin>>m;
int a[m];
for(i=0;i<m;i++)
{
cin>>a[i];
}
max=a[0];
min=a[0];
for(i=0;i<m;i++)
{
s=s|a[i];
if(a[i]>max)
max=a[i];
if(a[i]<min)
min=a[i];
}
ave=float(s)/m;
cout<<max<<endl;
cout<<min<<endl;
cout<<ave<<endl;
}

C语言题:输入两个正整数M,N求其最大公约数与最小公倍数,用一个循环结构...
答:int mt, nt;int gcd, lcm; /* 最大公约数、最小公倍数 */scanf ("%d%d", &m, &n);if (nt) /* 辗转相除法 */while((mt %= nt) && (nt %= mt)); /* 两数反复相除取余,直至被整除 */gcd = m+n;lcm = m*n/gcd;printf ("%d %d\n", m, n);printf ("The gcd ...

c语言,下面程序为从键盘上输入两个整数m和n,求其最大公约数和最小公倍...
答:include<stdio.h> main(){ int a,b,num1,num2,temp;scanf("%d,%d",&num1,&num2);if( num1<num2){ temp=num1;num1=num2;num2=temp;} a=num1;b=num2;while(b!=0){ temp=a%b;a=b;b=temp;} printf("%d,%d",a,num1*num2/a);getch();} ...

...数组中各行值的最大数,再在选出的M个数中选出最小数
答:include <stdio.h>#define M 3#define N 4void main() {int matrix[3][4];int i,j,n;int fun(int a[M][N]);printf("Please input the elements of the matrix(3*4) row by row :\n");for(i = 0; i < M; i++)for(j = 0; j < N; j++)scanf("%d",&matrix[i][...

c语言程序设计,输入两个正整数m和n,求其最大公约数和最小公倍数?
答:include<stdio.h> int main(){ int a,b,num1,num2,temp;printf("please input two number:\n");scanf("%d%d",&num1,&num2);if(num1<num2){ temp = num1;num1 = num2;num2 = temp;} a = num1;b = num2;while(b!=0){ temp = a%b;a=b;b=temp;} printf("gongyueshu...

c语言输入多组数据,求最大公约数和最小公倍数
答:include<stdio.h>#include<math.h>int main(){int n,a,b,i,m,t,c;scanf("%d",&n);for(i=0;i<n;i++){scanf("%d%d",&a,&b);m=a; t=b; while(b!=0) { c=a%b; a=b; b=c;} printf("%d %d\n",a,m*t/a); }return 0;}望采纳 ...

用c语言输入一个整数m,输出区间[1,m内最大完全数
答:include <stdio.h>int main(){int i,j,m,s,k=1;scanf("%d",&m);for(i=m;k&&i>=1;i--){s=0;for(j=1;j

输入两个正整数m,n求其最大公约数,最小公倍数
答:e=a*b/m;cout<<"zui xiao gong bei shu ="<<e<<'\n';while() 循环改成上面的样子 而且最大公约数是 m, 不是c 跳出while循环的条件是c<=0 所以c不可能是最大公约数 下面的输出 也做了点修改 试下看能行不 你先搜下最大公约数求法, 再看看我写的那个while循环 应该可...

C语言题目,输入两个正整数m和n,求其最大公约数和最小公倍数
答:最大公约数:(辗转相除法)调整顺序使m>=n 循环 m=m%n; 如果m=0,则n为最大公约数,跳出循环。注:%表示取余运算。n=n%m; 如果n=0,则m为最大公约数,跳出循环。next 求出最大公约数G后,用m*n/G得到最小公倍数。

在excel中如何在数据中找出最大或最小的10个数?
答:向下填充10行,得到最小的10个数 C1输入 =large(a$1:a$100,row(a1)) 向下填充10行,得到最大的10个数 如何在excel多个数据中找出最小值 =Min(K5,L5,M5,S5) 如何在一组数组中找出最小的数? 程序设计吧 如何在excel中的表格中找出最大、最小值? 在excel中判断查找最值,可通过函数max()或min()来实现...

用"辗转相除法"对输入的两个正整数M和N求其最大公约数和最小公倍数
答:include <stdio.h> int main() { int m, n; int m_temp, n_temp, res; printf("Enter two integer:\n"); scanf("%d %d", &m, &n); m_temp = m; n_temp = n; if (m > 0 && n >0) { do { res = n % m; n = m; m = res; } while (m != 0); printf(...