【从零开始学编程】02_C++基础语法

CPP1 定义变量

描述
按顺序分别定义char、int、long、double类型的变量,并用sizeof()依次输出这几个变量在内存中所占用的字节数。

输入

#include <iostream>
using namespace std;

int main() {

    // write your code here......
    char c;int i;long l;double d;
    cout<<sizeof(c)<<endl<<sizeof(i)<<endl<<sizeof(l)<<endl<<sizeof(d)<<endl;
    return 0;
}

输出
在这里插入图片描述


CPP2 实现四舍五入

描述
将浮点数转换为整数类型,要求四舍五入。

输入

#include <iostream>
using namespace std;

int main() {
	double d;
	cin >> d;
	if (d > 0) {
		cout << (int)(d+0.5);
	}
	else {
		cout << (int)(d-0.5);
	}
}

输出
在这里插入图片描述


CPP3 两数求和

描述
键盘录入两个整数 a 和 b,并对 a 和 b 求和,输出结果。
输入

#include <iostream>
using namespace std;
int main()
{
	int a,b;
	cin >> a >> b;
	if (-1000 <= a <= 1000 && -1000 <= b <= 1000) {
		cout << a + b << endl;
	}
	return 0;
}

输出
在这里插入图片描述


CPP4 获取两数中的较大值

描述
键盘录入两个整数 a 和 b,获取这两个整数中的较大值,并输出。
输入

#include <iostream>
using namespace std;
int main()
{
	int a,b;
	cin >> a >> b;
	int max = a > b ? a : b;
	cout << max << endl;
	return 0;
}

输出
在这里插入图片描述


CPP5 简单运算

描述
键盘输入两个 int 范围的正整数 a 和 b,范围为[1, 9999],输出这两个 int 范围的正整数的和,差,积,商,模(若 a > b 则输出 a - b,a / b,a % b 的值反之输出 b - a,b / a,b % a 的值,不考虑小数)
输入

#include <iostream>
using namespace std;
int main()
{
	int a,b;
	cin >> a >> b;
	if (1 <= a <= 9999 && 1 <= b <= 9999) {
		if (a < b) {
			swap(a, b);
		}
	}
	cout << a + b << ' ' << a - b << ' ' << a * b << ' ' << a / b << ' ' << a % b << endl;
	return 0;
}

输出
在这里插入图片描述


CPP6 交换两个变量的值

描述
实现交换两个int类型变量的值
输入1(不用交换变量)

#include <iostream>
using namespace std;
int main()
{
	int a,b;
	cin >> a >> b;
	a = a + b;
	b = a - b;
	a = a - b;
	cout << a << " " << b << endl;
	return 0;
}

输入2(直接用自带交换函数)

#include <iostream>
using namespace std;
int main()
{
	int a,b;
	cin >> a >> b;
	swap(a,b);
	cout << a << " " << b << endl;
	return 0;
}

输入3(一种很新的交换输入方式)

#include <iostream>
using namespace std;
int main()
{
	int a,b;
	cin >> a >> b;
	cout << b << " " << a << endl;
	return 0;
}

输出
在这里插入图片描述


CPP7 获取三个数中的最大值(三元表达式实现)

描述
键盘录入三个整数 a、b、c,获取这三个整数中的最大值,并输出。(要求使用三元表达式实现)
输入

#include <iostream>
using namespace std;
int main()
{
	int a, b, c, max;
	cin >> a;
	cin >> b;
	cin >> c;
	max = a > b ? (a > c ? a : c) : (b > c ? b : c);
	cout << max <<endl;
	return 0;
}

输出

在这里插入图片描述


CPP8 计算商品打折结算金额

描述
牛牛商场促销活动:
满100打9折;
满500打8折;
满2000打7折;
满5000打6折
牛阿姨算不清楚自己应该付多少钱,请你帮忙算一下
输入

#include <iostream>
#include <iomanip>
using namespace std;

int main() {
    
    double price;
    cin >> price;

    double cost = 0.0;

    // write your code here.......
    if (price >= 0 && price < 100) {
        cost = price;
    }
    else if (price >= 100 && price < 500) {
        cost = price * 0.9;
    }
    else if (price >= 500 && price < 2000) {
        cost = price * 0.8;
    }
    else if (price >= 2000 && price < 5000) {
        cost = price * 0.7;
    }
    else if (price >= 5000) {
        cost = price * 0.6;
    }

    cout << cost << endl;

    return 0;
}

输出
在这里插入图片描述


CPP9 判断身体状态

描述
体重指数(BMI)是世界卫生组织(WHO)推荐国际统一使用的肥胖分型标准,即BMI=体重/身高2(kg/m2)。小于 18.5 属于"偏瘦",大于等于 18.5 小于 20.9 属于"苗条",大于等于 20.9 小于等于 24.9 属于"适中",超过 24.9 属于"偏胖"。下面由你来编写一段逻辑,输入用户的身高和体重,计算出对应的体重指数,并返回他们的身材状态。
输入

#include <iostream>
#include <iomanip>
using namespace std;

int main() {
    double weight;
    double height;
    double BMI;

    cin >> weight;
    cin >> height;

    BMI = weight / (height * height);
    // write your code here......
    if (BMI < 18.5) {
        cout << "偏瘦" << endl;
    }
    else if (BMI >= 18.5 && BMI < 20.9) {
        cout << "苗条" << endl;
    }
    else if (BMI >= 20.9 && BMI <= 24.9) {
        cout << "适中" << endl;
    }
    else if (BMI >= 24.9) {
        cout << "偏胖" << endl;
    }

    return 0;
}

输出
在这里插入图片描述


CPP10 判断成绩等级

描述
键盘录入一个成绩(整数),判断并输出成绩的等级,如果用户输入成绩不合法(小于0或者大于100)则输出成绩不合法。
90-100 优秀
80-89 良
70-79 中
60-69 及格
0-59 差

输入

#include <iostream>
#include <iomanip>
using namespace std;

int main() {
    
    int score;
    cin >> score;

    if (score >= 0 && score <= 59) {
        cout << "差" << endl;
    }
    else if (score >= 60 && score <= 69) {
        cout << "及格" << endl;
    }
    else if (score >= 70 && score <= 79) {
        cout << "中" << endl;
    }
    else if (score >= 80 && score <= 89) {
        cout << "良" << endl;
    }
    else if (score >= 90 && score <= 100) {
        cout << "优秀" << endl;
    }
    else {
        cout << "成绩不合法" << endl;
    }
    return 0;
}

输出
在这里插入图片描述


CPP11 判断季节

描述
键盘录入一个月份 month,判断属于哪个季节。(3 - 5 月为春季、6 - 8 月为夏季、9 - 11 月为秋季、12,1,2 月为冬季)

输入1

#include <iostream>
#include <iomanip>
using namespace std;

int main() {
    int month;
    cin >> month;
    if (month < 1 || month > 12) //优先判断是否合法月份
        cout << "不合法" << endl;
    else {
        switch (month) { //根据月份判断
        case 3: 
        case 4: 
        case 5: 
            cout << "春季" << endl;  break;
        case 6:
        case 7:
        case 8:
            cout << "夏季" << endl;  break;
        case 9:
        case 10:
        case 11:
            cout << "秋季" << endl;  break;
        default:
            cout << "冬季" << endl;
        }
    }
    return 0;
}

输入2(三元表达式)

#include <iostream>
#include <iomanip>
using namespace std;

int main() {
    int month;
    cin >> month;

    if (month < 1 || month > 12) //优先判断是否合法月份
        cout << "不合法" << endl;
    else if (month == 12 || month == 1 || month == 2) {
        cout << "冬季" << endl;
    }
    else {
        month > 8 ? cout << "秋季" : (month > 5 ? cout << "夏季" : cout << "春季");
    }
    return 0;
}

输出

在这里插入图片描述


CPP12 求 1 - n 之间偶数的和

描述
键盘输入一个 int 类型的正整数 n,n 的范围为[1, 1000],求 1 - n 之间偶数的和,并输出。

输入

#include <iostream>
using namespace std;

int main() {
    int n;
    cin >> n;
    int sum = 0;
    if (n % 2 == 1) //奇数等于比它小的那个偶数
        n--;
    sum = (n / 2) * (n / 2 + 1); //公式计算
    cout << sum << endl;
    return 0;
}

输出

在这里插入图片描述


CPP13 计算一个数的阶乘

描述
键盘录入一个整数 n,求 n 的阶乘。
n 的阶乘为 n * (n - 1) * (n - 2) * … * 1
例:5 的阶乘为 5 * 4 * 3 * 2 * 1

输入1(循环遍历)

#include <iostream>
using namespace std;

int main() {

    int n;
    cin >> n;
    long long factorial = 1;

    // write your code here......
    if (n >= 1 && n <= 20) {
        while (n != 0) {
            factorial = factorial * n;
            n--;
        }
    }

    cout << factorial << endl;

    return 0;
}

输入2(递归函数)

#include <iostream>
using namespace std;
long long recursion(int n){
    if(n == 1)
        return 1;
    return recursion(n - 1) * n; //递归计算n*f(n-1)
}
 
int main() {
    int n;
    cin >> n;
    long long factorial = recursion(n); //递归
    cout << factorial << endl;
    return 0;
}

输出

在这里插入图片描述


CPP14 输出水仙花数

描述
在控制台输出所有的“水仙花数”。
水仙花数是指一个三位数,其各位数字的立方和等于该数本身。
举例:153就是一个水仙花数。
153 = 111 + 555 + 333 = 1 + 125 + 27 = 153

输入

#include <iostream>
using namespace std;

int main() {

    // write your code here......
    for (int i = 1; i < 10; i++) {
        for (int j = 0; j < 10; j++) {
            for (int k = 0; k < 10; k++) {
                if (i * 100 + j * 10 + k == i * i * i + j * j * j + k * k * k) {
                    cout<< i << j << k <<endl;
                }
            }
        }
    }
    return 0;
}

输出

在这里插入图片描述


CPP15 打印乘法表

描述
键盘输入一个正整数 n,打印对应的乘法表。
例如键盘输入 3,则打印 3 × 3 乘法表
1 * 1 = 1
1 * 2 = 2 2 * 2 = 4
1 * 3 = 3 2 * 3 = 6 3 * 3 = 9

输入

#include <iostream>
using namespace std;

int main() {
    int n;
    cin >> n;

    // write your code here......
    for (int i = 1; i <= n; i++) {
        for (int j = 1; j <= i; j++) {
            cout << j << " * " << i  << " = " << i*j  << "    ";
        }
        cout << endl;
    }
    return 0;
}

输出

在这里插入图片描述


CPP16 规律数列求和

描述
有数列为:9,99,999,…,9999999999(10个9)。要求使用循环结构编写程序计算此数列的和,并在控制台输出结果。

输入

#include <iostream>
using namespace std;

int main() {
    long long sum = 0, temp = 1, n = 10;
    for (int i = 1; i <= n; i++) {
        temp = temp * 10;
        sum += temp;
    }
    
    cout << sum - n << endl;

    return 0;
}

输出

在这里插入图片描述


CPP17 计算小球走过的路程和反弹高度

描述
一球从 h 米高度自由落下,每次落地后反跳回原高度的一半再落下,求它在第 n 次落地时共经过了多少米?第 n 次返弹多高?

输入

#include <iostream>
using namespace std;

int main() {

    // 下落的高度和落地的次数
    double h,sum = 0;
    int n;

    cin >> h;
    cin >> n;
    
    // write your code here......
    for (int i = 0; i < n; i++) {
        
        if (i == 0) {
            sum = h;
        }
        else {
            sum += (h * 2);
        }
        h /= 2;        
    }
    printf("%.1f %.1f", sum, h);
    return 0;
}

输出
在这里插入图片描述


CPP18 判断一个数是不是质数

描述
输入一个大于 1 的整数,判断其是不是质数。

输入

#include <iostream>
using namespace std;

int main() {

    // write your code here......
    int n;
    cin >> n;
    
    for (int i = 2; i <= n; i++) {
        if (i == n) {
            cout << "是质数" << endl; break;
        }
        if (n % i == 0) {
            cout << "不是质数" << endl; break;
        }
    }

    return 0;
}

输出

在这里插入图片描述


CPP19 获取数组最值

描述
键盘随机输入 6 个整数,将这些数据保存到数组中,获取数组中的最小值和最大值并输出。

输入

#include <iostream>
using namespace std;

int main() {
 
    int arr[6] = { 0 };
    int len = sizeof(arr) / sizeof(int);
     
    for (int i = 0; i < len; i++) {
        cin >> arr[i];
    }
    int max = arr[0]; //最大最小分别都记录第一个数
    int min = arr[0];
    for(int i = 1; i < 6; i++){ //遍历后面5个
        max = arr[i] > max ? arr[i] : max; //依次比较,取较大值
        min = arr[i] < min ? arr[i] : min; //依次比较,取较小值
    }
    cout << min << " " << max << endl;
    return 0;
}

输出

在这里插入图片描述


CPP20 数组元素反转

描述
键盘随机输入 6 个整数,将这些数据保存到数组中,先将数组中元素按照格式输出,然后再将数组元素反转,最后按照格式再次输出数组元素。

输入

#include <iostream>
using namespace std;

int main() {
	
    int arr[6] = { 0 };

    int len = sizeof(arr) / sizeof(int);
    
    for (int i = 0; i < len; i++) {
        cin >> arr[i];
    }

    cout << "[";
    for (int i = 0; i < len; i++) {
        if (i == len - 1) {
            cout << arr[i] << "]" << endl;
            break;
        }
        cout << arr[i] << ", ";
    }

    // write your code here......
    int temp;
    for (int i = 0; i < len/2; i++) {
        temp = arr[i];
        arr[i] = arr[len - i - 1];
        arr[len - i - 1] = temp;
    }

    cout << "[";
    for (int i = 0; i < len; i++) {
        if (i == len - 1) {
            cout << arr[i] << "]" << endl;
            break;
        }
        cout << arr[i] << ", ";
    }

    return 0;
}

输出

在这里插入图片描述


CPP21 C++冒泡排序

描述
键盘随机输入 6 个整数,将这些数据保存到数组中,使用冒泡排序对数组中的元素进行从小到大顺序排序,输出排序后数组中的元素(元素之间使用空格隔开)。

输入

#include <iostream>
using namespace std;

int main() {

    int arr[6] = { 0 };
    int len = sizeof(arr) / sizeof(int);

    for (int i = 0; i < len; i++) {
        cin >> arr[i];
    }
    for (int i = 0; i < len - 1; i++) {
        //第i趟比较
        for (int j = 0; j < len - i - 1; j++) {
            //开始进行比较,如果arr[j]比arr[j+1]的值大,那就交换位置
            if (arr[j] > arr[j + 1]) {
                swap(arr[j], arr[j + 1]);
            }
        }
    }
    for (int i = 0; i < len; i++) //输出
        cout << arr[i] << " ";
    return 0;
}

输出
在这里插入图片描述


CPP22 C++选择排序

描述
键盘随机输入 6 个整数,将这些数据保存到数组中,使用选择排序对数组中的元素进行从小到大顺序排序,输出排序后数组中的元素(元素之间使用空格隔开)。

输入

#include <iostream>
using namespace std;

int main() {

    int arr[6] = { 0 };
    int len = sizeof(arr) / sizeof(int);

    for (int i = 0; i < len; i++) {
        cin >> arr[i];
    }

    // write your code here......
    for (int i = 0; i < len - 1; i++) {
        int min = i;
        for (int j = i + 1; j < len; j++) {
            if (arr[j] < arr[min])
                min = j;
        }
        swap(arr[i], arr[min]);
    }

    for (int i = 0; i < len; i++) {
        cout << arr[i] << ' ';
    }

    return 0;
}

输出

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值