用c语言求一组数中最大值和最小值,用c语言输入一组数据,输出最大最小值,求c语言程序讲解: 输入一组数据,求最大值,最小值,和,平均...

导航:网站首页 >

用c语言输入一组数据,输出最大最小值,求c语言程序讲解: 输入一组数据,求最大值,最小值,和,平均

用c语言输入一组数据,输出最大最小值,求c语言程序讲解: 输入一组数据,求最大值,最小值,和,平均值...

匿名网友:

这个程序可以了。

我在vc6中通过调试运行了#include#includevoid main(){float max,min,num;printf("input a number:");scanf("%f",&num);max=min=num;printf("input another number(Y/N):");while(getch()==('Y'|'y')){scanf("%f",&num);if(num>max)max=num;if(nummin=num;printf("input another number(Y/N):");}printf("max=%g,min=%g",max,min);}

匿名网友:

#includevoid main(){float a10,sum=0,aver,max,min; //以输入10个数为例int i;for (i=0;iscanf("%f",&ai);max=a0;min=a0;for (i=0;i{if (maxmax=ai;if (aimin=ai;sum=sum+ai;}aver=sum/10;printf("max=%f min=%f sum=%f aver=%f\n",max,min,sum,aver);}如果想要定义一个子函数的话,可以不定义数组的大小,也不用初始化数组#includeint main( float a,int n ){float sum=0,aver,max,min; int i;max=a0;min=a0;for (i=0;i{if (maxmax=ai;if (aimin=ai;sum=sum+ai;}aver=sum/10;printf("max=%f min=%f sum=%f aver=%f\n",max,min,sum,aver);return 0;} 通过主函数调用即可

匿名网友:

#includeint main(){int x,i,count,max,min,sum;// 定义一些变量float avg; // 定义平均值变量,因为可能有小数,所以为floatchar c; // 定义一个用于判断回车的charprintf"请输入一组数据以回车结束\n";scanf("%d",&x); // 输入第一个数字sum=x; // 因为只有一个,赋值给和变量count=1; // 计数器赋值为1min=x; // 因为只有一个,最小值为输入的这个数max=x; // 因为只有一个,最大值为输入的这个数for(i=0;;i++) // 进入循环,没有设置结束判断{scanf("%d",&x); // 不断输入数字c=getchar); // 同时存储在用于判断回车的char变量中count++; // 计数器增加sum+=x; // 求和if (x>=max)max=x; // 判断是否比max中的数字大,是的话存值到max if (min>=x) min=x; // 判断是否比min中的数字小, 是的话存值到minif(c=='\n')break; // 判断输入的是否是回车,是的话中止循环}avg=(float)sum/count; // 求平均值printf"最大值为: %d\n",max;printf"最小值为: %d\n",min;printf"平均值为: %f\n",avg;return 0;}还有不明白的么

匿名网友:

#include #include #include #include #define MAX(a, b) (a >b ? a : b)#define MIN(a, b) (a #define POSITIVE(a) (a >0 ? 1 : 0)#define NEGTIVE(a) (a int main() {printf("Input:\n");int max_size = 128; // max size, can be extendeddouble *data = (double*) malloc(max_size * sizeof(double));// allocate memoryint num = 0;while (1){char szBuf16;memset(szBuf, 0, 16);scanf("%s", szBuf);if (0 == strcmp(szBuf, "over")) break;//input "over" as input overdatanum++ = atof(szBuf);if (num == max_size) // extend memory{max_size *= 2;data = (double*) realloc(data, max_size);}}double max = data0, min = data0;int posNum = 0, negNum = 0;for (int i = 0; i {max = MAX(max, datai);min = MIN(min, datai);posNum += POSITIVE(datai);negNum += NEGTIVE(datai);}printf("\nOutput:\n");printf("max: %f\nmin: %f\npositive num: %d\nnegtive num: %d\n",max, min, posNum, negNum);free(data); // free memoryreturn 0;}数据输入以“over”结束

匿名网友:

#includeint main(){int i,max,min,n,a105;scanf("%d",&n);scanf("%d",&a1);max=a1; min=a1;for (i=2;i{scanf("%d",&ai);if (ai>max) max=ai;if (ai}printf("max=%d min=%d\n",max,min);}

匿名网友:

#include#includeint main(){int n,i,j,tmp,sum,a1000;printf"请输入n的值:\n";scanf("%d",&n);printf"请输入%d个数:\n",n;for(i=0;i{scanf("%d",&ai); //录入数据。

sum=sum+ai; //直接求和,方便后面求平均值 } for(i=0;ifor(j=i+1;jif(ai” {tmp=ai;ai=aj;aj=tmp; }printf"平均值为%d,最大值为%d,最小值为%d",sum/n,a0,an-1;printf"排序后的数组为:\n";for(i=0;iprintf("%d ",ai);system("pause"); return(0);}

匿名网友:

C语言中求最大值和最小值,一般都是使用假设法,即先假设某个数是最大值和最小值,然后遍历比较即可。

下面实例,求一个数组中的最大值和最小值,先假设a0是最大值,同时也是最小值,然后遍历数组进行比较,得出结果。

#includeint main() { int a = {1,2,3,4,5,6,7,8,9,10};int max, min;max = min = a0; //假设第1个元素即是最大值也是最小值。

int *p = a; //遍历数组,找出数组a中的最大数和最小数for (int inx=0; inx!=sizeof(a) / sizeof(int); ++inx) {if (*(p+inx) >max) max = *(p + inx); else if (*(p+inx) }printf"最大数:%d\t最小数:%d\n", max, min;return 0;}

匿名网友:

#includemain(){ int n,max,min,sum=0,i=0;scanf("%d",&n);max=n;min=n;while(n!=0){if(maxif(min>n) min=n;sum+=n;i++; scanf("%d",&n);}printf("max = %d\nmin = %d\nsum = %lf\n",max,min,(double)sum/i);}如图所示,望。

匿名网友:

#include<stdio.h>int fun1(int *a){int i, b, max;max = a0;for (i = 1; i < 3; i++){if (ai >= max)b = ai;}return b;}int fun2(int *a){int i, c, min;min = a0;for (i = 1; i < 3; i++){if (ai <= min)c = ai;}return c;}int main(){int i, a3;printf("input three counts:");for (i = 0; i < 3; i++)scanf("%d", &ai);printf("max is %d\n", fun1(a));printf("min is %d", fun2(a));}祝你愉快!上面这个没有分析,下面这个和上面的一样的程序,有分析#include<stdio.h>int fun1(int *a){int i, b, max;max = a0; // 先让最大值为a0for (i = 1; i < 3; i++) // for的目的就是比较出最大值,把最大值付给b{if (ai >= max)b = ai;}return b; // 反回最大值}int fun2(int *a){int i, c, min;min = a0; // 先让最小值为a0for (i = 1; i < 3; i++) // for的目的就是比较出最小值,把最小值付给c{if (ai <= min)c = ai;}return c; // 反回最小值}int main(){int i, a3;printf("input three counts:");for (i = 0; i < 3; i++)scanf("%d", &ai);printf("max is %d\n", fun1(a));printf("min is %d", fun2(a));}祝你愉快!

匿名网友:

#include"stdio.h"int main(){int a8,i,j,k,max,min;printf("input 8 numbers:\n");scanf("%d",&a0);min=max=a0;j=k=0;for(i=1;iscanf("%d",&ai);if(ai>max){max=ai;j=i;}if(aimin=ai;k=i;}} //括号位置在这里 ,你弄错位置了。

printf("%d\n",j);printf("%d\n",k);return 0;//不是这里}

问题推荐

  • 1
    点赞
  • 2
    收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:深蓝海洋 设计师:CSDN官方博客 返回首页
评论
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值