顺序结构实例

283 阅读2分钟

三位数反向输出

问题描述

输入一个三位数,要求把这个数的百位与个位对调,输出对调后的数,例如输入123,输出321。

分析

先求出这个三位数的百位、十位、个位,然后个位和百位对调。

代码实现

#include <iostream>
using namespace std;


int m90009(vector<int> cans);

int main() {
    std::cout << "尘远同学编程-少年班欢迎您! 报名热线 : 025 - 8662 0610" <<std::endl;

    // g sh b 分别表示 个位 十位 百位 上的数  news 是反转后的数
    int num,g,sh,b,news;
    cout<<"请输入一个三位数:";
    cin>>num;

    for(;;){
        if(num >=100 && num <=999){
            break ;
        }
        cout<<"\n您的输入不是三位数,请重新输入一个三位数:";
        cin>>num;
    }

    b=num/100;
    sh=(num/10)%10;
    g=num%10;

    news=g*100+sh*10+b;
    printf("num==%4d,new num==%4d\n",num,news);

    return 0;


}

运行结果

image.png

扩展:如果是4位数、5位数,反向输出的处理。

1、动态输出一个数的反向输出

2、判断一个数是几位数

求班级平均分

问题描述

已知班级有M位男同学,N位女同学。男同学的平均分是88分,女同学的平均分是85分。

求全体同学的平均分是多少?

代码实现

#include <iostream>
using namespace std;

int main() {
    std::cout << "尘远同学编程-少年班欢迎您! 报名热线 : 025 - 8662 0610" <<std::endl;

    float m,n,avg_m,avg_n;
    float avg;
    cout<<"请输入男同学数量 M 和女同学数量 N : ";

    avg_m=88;
    avg_n=85;


    cin>>m>>n;

    avg=(avg_m*m + avg_n*n)/(m+n);

    printf("班级的平均分是 %4.4f 分.\n",avg);
    return 0;


}

运行结果

image.png

扩展

1、权重计分

2、去掉最高最低分方式计分