qizijian 发表于 2018-2-14 18:59:05

数组中为什么显示不了最小值??

#include<iostream>

using namespace std;

int main()
{
        //{8,4,2,1,23,344,12}
        const int N = 7;//常量iop
        int nums;//成绩数组
        int sum = 0;
        int max = nums;
        int min = nums;

        //计算最大值,最小值,和,平均值
        for(int i = 0; i < sizeof(nums)/sizeof(int); i++)
                {
                cout << "请输入第" << (i + 1) << "个元素的值:";
                cin >> nums;
                sum += nums;
               
                if (nums >= max)
                {
                        max = nums;
                }
               
                }
        for (int i = 1; i < 7; i++)

        {
                if (nums <= min)
                {
                        min = nums;
                }
        }
        int a = 0, b = 0;


        //计算奇偶书个数
        for (int i = 0; i < sizeof(nums) / sizeof(int); i++)
          {
                if (nums % 2 == 0)
                {
                        a++;
                }
                else
                {
                        b++;
                }
          }
        cout << endl;
        cout << endl;
        for (int i = 0; i < sizeof(nums) / sizeof(int); i++)
        {
                cout << "第" << (i + 1) << "个元素的值为:" << nums << endl;
        }
        cout << "数列中所有的数值的和及平均值为:" << sum << "和" << (sum / N) << endl;
        cout << "数列的最大值为:" << max << '\t' << "数列的最小值为:" << min << endl;
        cout << "该数列中奇数元素个数为:" << b << "\t该数列中偶数元素个数为:" << a << endl;
        system("pause");
        return 0;
}

a98 发表于 2018-2-14 20:38:31


这部分。

应该先输入数组nums后再把min,max定义成nums。

你在开头定义,调试可以看到,min还是随机数。

不知道说的对不对,你再试试。

        //计算最大值,最小值,和,平均值
        for(int i = 0; i < sizeof(nums)/sizeof(int); i++)
        {
                cout << "请输入第" << (i + 1) << "个元素的值:";
                cin >> nums;
                sum += nums;

        }
        int max = nums;
        int min = nums;


        for (int j = 1; j < 7; j++)
        {
                if (nums > max)
                {
                        max = nums;
                }
                else if (nums < min)
                {
                        min = nums;
                }
        }
页: [1]
查看完整版本: 数组中为什么显示不了最小值??