求多组数的最值和平均值

img

img


如何改进一下呢?使得输入0的时候能够结束输入 我的程序现在有什么问题?

img

修改如下,供参考:

img

在循环体最后再加上输入y

你输入n的代码要放到循环里面啊,否则n都不变的

  • 你可以看下这个问题的回答https://ask.csdn.net/questions/7635798
  • 我还给你找了一篇非常好的博客,你可以看看是否有帮助,链接:面试官问我:数组下标为什么要从0开始?为什么不是从1开始?
  • 除此之外, 这篇博客: 虚表中的 单继承的虚拟继承的有重写的虚表 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • 基类只打印自己的,派生类将重写的不打印,只打印自己的
    基类大小不变,派生类的大小和无重写几乎一样,不过多了一个用于区分对象的0,这个0加进了派生类数据成员和指向基类虚表的指针之间
    在这里插入图片描述

    #include<iostream>
    using namespace std;
    class Base
    {
    public:
    	Base()
    	{
    		b = 10;
    	}
    	virtual void fun0()
    	{
    		cout << "Base::fun0()" << endl;
    	}
    	virtual void fun1()
    	{
    		cout << "Base::fun1()" << endl;
    	}
    	virtual void fun2()
    	{
    		cout << "Base::fun2()" << endl;
    	}
    	int b;
    };
    class Derived :virtual public Base
    {
    public:
    	Derived()
    	{
    		d = 20;
    	}
    	virtual void fun0()
    	{
    		cout << "Derived::fun0()" << endl;
    	}
    	virtual void fun1()
    	{
    		cout << "Derived::fun1()" << endl;
    	}
    	virtual void fun5()
    	{
    		cout << "Derived::fun5()" << endl;
    	}
    	int d;
    };
    typedef void(*vpf)();
    void Printvpf()
    {
    	Base b;
    	Derived d;
    	//Base* p = &d;
    	cout << "Base::vpf" << endl;
    	vpf* n = (vpf*)*(int *)(&b);
    	while (*n)
    	{
    		(*n)();
    		n++;
    	}
    	cout << "Derived::vpf" << endl;
    	vpf* pn = (vpf*)*(int *)(&d);
    	while (*pn)
    	{
    		(*pn)();
    		pn++;
    	}
    	cout << sizeof(Base) << endl;
    	cout << sizeof(Derived) << endl;
    }
    int main()
    {
    	Printvpf();
    	system("pause");
    	return 0;
    }
    
  • 您还可以看一下 张传波老师的软件设计是怎样炼成的?课程中的 整个程序需要考虑的设计规范小节, 巩固相关知识点