精易论坛

标题: c++小问题 [打印本页]

作者: 暗影之锋    时间: 2020-6-2 00:07
标题: c++小问题
#include <stdio.h>
void main(){
        float x,max,min,ave,sum=0;
        int k=0;
        scanf("%f",&x);
        max=x;
        min=x;
        while(x>=0)
        {
                if(x>max)
                max=x;
                if(x<min)
                min=x;
        k++;
        sum=x+sum;
                ave=sum/k;
        printf("\nmax=%f\nmin=%f\n",max,min);
        printf("\nave=%f",ave);
}



请教怎么输出平均数啊,,,我的错了,,

RT4]$9JP872FAHXG{MRCWMC.png (45.82 KB, 下载次数: 2)

RT4]$9JP872FAHXG{MRCWMC.png

作者: a774192419    时间: 2020-6-2 01:06
#include <stdio.h>  int main() {  double score,sum=0,count=0,average;  while (scanf("%lf",&score),score!=-1)  {   sum+=score;   count++;  }  average=sum/count;  printf("%.2lf\n",average);  return 0; }
作者: a774192419    时间: 2020-6-2 01:07
你可以排序  第一个就是最多  最后一个最小   上面那个是平均
作者: a774192419    时间: 2020-6-2 01:42
#if 1
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
int main() {
{
                float x, amax, amin;
                scanf("%f", &x);
                amax = x;
                amin = x;
                while (x >= 0)
                {
                        if (x > amax)
                                amax = x;
                        if (x < amin)
                                amin = x;
                        scanf("%f", &x);
                }
                printf("\namax=%f\namin=%f\n", amax, amin);
        }
        system("pause");
        return EXIT_SUCCESS;
}
#endif
作者: 冯古屋    时间: 2020-6-2 11:00
  1.   float x,max,min,ave,sum=0;
  2.         int k=0;
  3.         scanf("%f",&x);
  4.         max= x;
  5.                 min= x;
  6.                 do{
  7.                         if(x<0)break;
  8.                        
  9.                         if(x>max)
  10.                 max=x;
  11.                         if(x<min)
  12.                 min=x;
  13.                         k++;
  14.                         sum=x+sum;
  15.                         ave=sum/k;
  16.                 }while(scanf("%f",&x)!=0);
  17.                 printf("\nmax=%f\nmin=%f\n",max,min);
  18.                 printf("\nave=%f",ave);
复制代码

我感觉写得不是很好,特别是如果上来就是输入x=负数,好像就有问题
作者: weion    时间: 2020-6-7 10:04
循环体结尾要再读一下shuj。
再加个提示会更好一点。
#include <stdio.h>
void main() {
        float x = 0, max, min, ave, sum = 0;
        int k = 0;
        printf("请输入shuj(负值退出):");
        scanf("%f", &x);        //读入第一个shuj
        max = x;
        min = x;
        while (x >= 0)
        {
                if (x > max)
                        max = x;
                if (x < min)
                        min = x;
                k++;
                sum = x + sum;
                ave = sum / k;
                printf("\nmax=%f\nmin=%f", max, min);
                printf("\nave=%f\n", ave);
                printf("请输入shuj(负值退出):");
                scanf("%f", &x);                                                //读入shuj
        }
}
作者: dsjz    时间: 2020-10-13 20:25
把所有的成绩加起来然后除数量不就是平均数了
作者: 小白弟弟    时间: 2022-8-6 15:07
全部题目有吗
作者: 小白弟弟    时间: 2022-8-6 15:11
#include <bits/stdc++.h>
using namespace std;
int main()
{
        int n , a[1000 + 5];
        int max = -50,min = 99999,s = 0;
        cout << "一共统计的人数>>" ;
        cin >> n;
        cout << "请分别输入每人分数>> \n";
        for( int i = 1; i <=n ; i++)
        {
                cin >> a[i];
                if(a[i] > max)
                    max = a[i];
                if(a[i] < min)
                    min = a[i];
                s += a[i];
        }
        cout <<"品均分为:" << (s - max - min) / (n-2);
       
        return 0;
}




欢迎光临 精易论坛 (https://125.confly.eu.org/) Powered by Discuz! X3.4