Max-Zero 2016-03-28 13:59 采纳率: 0%
浏览 1959

求助两道关于c++循环的小编程题!

1.输入12个正整数,在去掉一个最小值和一个最大值后,求剩余10个正整数之和。
2.输入一个整数X(1<X<10),在屏幕上显示数字三角形。例如,X=5,显示:
1
121
12321
1234321
123454321

  • 写回答

1条回答 默认 最新

  • 林深 2016-03-28 15:08
    关注

    1.简单的累加,记录最大最小值,然后减一下就可以了

     #include "iostream"
    using namespace std;
    
    int main() {
    
        int max,min,sum=0,inputNum;
    
        for (int i=0; i<12; i++) { // 输入12个数
            cin>>inputNum;
            sum += inputNum;        // 所有的数都求和
            if (i==0) {
                max = inputNum;
                min = inputNum;
            }
            else {
                if (max < inputNum) {   // 记录最大值
                    max = inputNum;
                }
                if (min > inputNum) {   // 记录最小值
                    min = inputNum;
                }
            }
    
        }
    
        sum -= max;
        sum -= min;     // 12个数的和 减去最大值和最小值,就是中间的10个数的和
    
        cout << sum <<endl;
    
        return 0;
    }
    

    2.循环的简单用法,学会分解输出的情况

     #include "iostream"
    using namespace std;
    
    int main() {
    
        int X;
        while (cin >> X) {          // 允许循环输入
    
            for (int i=0; i<X; i++) { // 输出有X行
                for (int j=0;j<i;j++) // 每行前一半增序数从 1到i 输出
                {
                    cout<<j+1;
                }
                cout<<i+1;              // 输出 中间的数
                for (int j=i-1;j>=0;j--) // 每行后一半逆序从 i到1 输出
                {
                    cout<<j+1;
                }
                cout<<endl;             // 换行
            }
        }
        return 0;
    }
    
    评论

报告相同问题?

悬赏问题

  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 matlab求解平差
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料
  • ¥15 使用R语言marginaleffects包进行边际效应图绘制
  • ¥20 usb设备兼容性问题
  • ¥15 错误(10048): “调用exui内部功能”库命令的参数“参数4”不能接受空数据。怎么解决啊
  • ¥15 安装svn网络有问题怎么办