C++高级语言程序设计实验二-中国矿业大学

第一题

利用循环结构,输入打印图形的行数,打印显示出如下“图形”。

3
1
131
13531
#include<iostream>
using namespace std;
int main(){
    int lines;
    cin>>lines;
    for (int line=0; line<lines; line++){
        int a=1;
        for (;a<line*2+1;a+=2){
            cout<<a;
        }
        for (;a>=1;a-=2){
            cout<<a;
        }
        cout<<endl;
    } 
}

第二题

某商店出售四种商品: A商品每公斤2.75元;B商品每个12.5 元;C商品每米26.8 元;D商品每台512元,超过3台优惠10%,超过8台优惠15%。设计一个计算价格的程序,通过输入购买四种商品的数量,计算并显示每种商品应付金额以及总金额。

#include<iostream>
using namespace std;
int main(){
    float a,b,c,d;
    cin>>a>>b>>c>>d;
    if (d>8) d*=0.85;
    else if (d>3) d*=0.90;
    cout<<"A:"<<2.75*a<<endl;
    cout<<"B:"<<12.5*b<<endl;
    cout<<"C:"<<26.8*c<<endl;
    cout<<"D:"<<512*d<<endl;
    cout<<"total:"<<2.75*a+12.5*b+26.8*c+512*d<<endl;
}

第三题

求n以内被3除余1且个位数为6的所有整数(如16、46、...、286等)并显示在屏幕上。

#include<iostream>
using namespace std;
int main(){
    int n;
    cin>>n;
    for (int i=1; i<=n; i++){
        if (i%3==1 && i%10==6){
            cout<<i<<" ";
        }
    }
}

第四题

编写一程序统计参赛选手的得分,计分标准为去掉一个最高分和一个最低分后,对剩余得分求平均值。要求首先从键盘输入评委的个数num,然后输入num个分数(分数为小于等于10的一个正实数),输出最终得分。

#include<iostream>
using namespace std;
int main(){
    int n;
    float sum;
    float min=0, max=10;
    cin>>n;
    for (int i=0; i<n; i++){
        float temp;
        cin>>temp;
        if (temp>min){
            min = temp;
        }
        if (temp<max){
            max = temp;
        }
        sum+=temp;
    }
    cout<<(sum-max-min)/(n-2)<<endl;
}

第五题

设计一个程序,对于用户输入的任意正整数a(a≥1)和b(b≥2),求出满足b^n≤a的最大整数n。

#include<iostream>
using namespace std;
int main(){
    int a,b,s=1;
    int n=0;
    cin>>a>>b;
    while(1){
        if (s>a) {
            cout<<--n;
            break;
        }
        n++;
        s*=b;
    }
}

第六题

给定一个十进制正整数N,请将其转换为十六进制并输出。输出N对应的十六进制,用数字 0~9 以及大写字母 A~F 来表示。

#include<iostream>
using namespace std;
int main(){
    long n;
    int list[100];
    int i=0;
    int j=0;
    cin>>n;
    while(1){
        list[j] = n%16;
        n=n/16;
        j++;
        if (n==0) break;
    }
    j--;
    for (;j>=0; j--){
        switch(list[j]){
            case 10: cout<<'A'; break;
            case 11: cout<<'B'; break;
            case 12: cout<<'C'; break;
            case 13: cout<<'D'; break;
            case 14: cout<<'E'; break;
            case 15: cout<<'F'; break;
            default:
            cout<<list[j];break;
        }
    }
}

原文地址:https://www.cnblogs.com/hujunyao37201/p/14123234.html