第三章 程序设计初步

第三章 程序设计初步

1.

2.计算圆的数据

设圆半径r=1.5,圆柱高 h=3求圆周长圆面积圆球表面积圆球体积圆柱体积。
用 cin 输人数据,输出计算结果,输出时要求有文字说明,取小数点后两位数字。请编程序。

#include <cmath>
#include <iostream>
#include <iomanip>

int main() {

    setlocale(LC_ALL, "zh_CN.UTF-8");

    int r = 1.5;
    int h = 3;

    int perimeter = 2 * M_PI * r;//计算周长
    int area = M_PI * pow(r, 2);//计算面积
    int ball_size = 4 * M_PI * pow(r, 2);//圆球表面积
    int ball_volume = 4 / 3 * M_PI * pow(r, 3);//圆球体积

    std::cout << std::setprecision(2) << "周长:" << perimeter << std::endl;
    std::cout << std::setprecision(2) << "面积:" << area << std::endl;
    std::cout << std::setprecision(2) << "圆球表面积:" << ball_size << std::endl;
    std::cout << std::setprecision(2) << "圆球体积:" << ball_volume << std::endl;
    return 0;
}

问题回馈

  • 设置小数点保留需要使用<iomanip>的std::setprecision
  • cout加上fixed可以固定保留小数位数
  • cmath提供了M_PI
  • pow是幂函数, sqrt是根号

3. 华氏度与摄氏度

输人一个华氏温度,要求输出摄氏温度。公式为c=一(F-32),输出要有文字说明,取两位小数

#include <iostream>
#include <iomanip>
using namespace std;
int main(int argc, char const *argv[]) {

    double temp;
    cout << "输入华氏温度:";
    cin >> temp;
    cout << endl << fixed << setprecision(2) << "摄氏温度为:" << -(temp - 32.0) <<"C";
    return 0;
}

问题回馈

  • 没什么问题

4.getchar与putchar

编程序用getchar 函数读入两个字符给 cl,c2然后分别用putchar 函数和cout 语句输出这两个字符。并思考以下问题:
(1)变量 cl,c2应定义为字符型还是整型?抑或二者皆可?
(2)要求输出cl和c2值的ASCII码应如何处理?

#include <iostream>
#include <iomanip>
#include <cmath>

using namespace std;

int main(int argc, char const *argv[]) {

    char c1 = getchar();
    int c2 = getchar();
    putchar(c1);
    putchar(c2);
    cout << endl;
    return 0;
}

问题回馈

  • 中间涉及到了一些关于char int的问题,实质上getchar是可以int也可以char的。
  • 输出c1,c2的ASCII码需要使用cout << (int)c1

5. 理解 char 与 int 与 ascii

整型变量与字符变量是否在任何情况下都可以互相代替?
如char cl ,c2; int cl,c2;是否无条件的等价?

问题回馈

  • 答案是否定的!因为有些int并无法找到ASCII对应的char!

GPT见解

是的,您说的是正确的。虽然整型变量和字符变量都是变量类型,但它们并不在所有情况下可以互相代替。

例如,在C语言中,char类型的变量只能存储一个字符(在ASCII编码中),而int类型的变量可以存储更大的值,从-2147483648到2147483647(如果使用32位编译器)。因此,如果你将一个超出char类型范围的整数赋值给一个char类型的变量,那么该变量将无法存储整数的全部信息,并且会出现错误的结果。

另一方面,当你将一个包含字符的变量赋值给一个整型变量时,这个字符变量会被转换为其对应的ASCII码值并存储在整型变量中,这可能与原始字符的含义不同。因此,在特定情况下,这两种类型的变量不能互相代替。

6.运算

什么是算术运算?什么是关系运算?什么是逻辑运算?

GPT见解

算术运算是对数字进行数学操作的过程,例如加法、减法、乘法和除法等。它们通常用于执行数值计算。

关系运算是比较两个值之间关系的运算,例如相等、大于、小于、大于等于、小于等于和不等于等。它们通常用于条件语句和循环控制结构中。

逻辑运算是在逻辑上对布尔值进行操作的过程,例如与、或和非等。它们通常用于条件语句和循环控制结构中。在编程中,逻辑运算通常用于判断某些条件是否满足,以便程序可以根据需要采取相应的行动。

8. 比大小

比大小 abc

#include <iostream>
#include "algorithm"

using namespace std;

int main(int argc, char const *argv[]) {
    int a, b, c;
    cin >> a >> b >> c;

    cout << ((a > b) ? ((a > c) ? a : c) : ((b > c) ? b : c));
    cout << max({a, b, c});
    return 0;
}

问题回馈

  • <algorithm>是C++标准库中的头文件之一,它包含了一系列的算法函数。这些算法函数都是以泛型编程的方式实现的,可以用于不同类型的数据结构。引入了后可以使用 std::max({})

12. 颠倒数字

给一个不多于5 位的正整数,要求:D求出它是几位数;2分别打印出每一位数字;3按逆序打印出各位数字,例如原数为321,应输出123。

#include <iostream>
#include <iomanip>
#include <cmath>
#include <algorithm>

using namespace std;

int main(int argc, char const *argv[]) {

    int number;
    cin >> number;
    if (number >= 100000) {
        ::printf("最高为五位数");
        return 0;
    }

    string str = to_string(number);
    cout << str.length() << endl;
    for (int i = 0; i < str.length(); ++i) {
        cout << str[i] << endl;
    }
    reverse(str.begin(), str.end());
    cout << str << endl;

    return 0;
}

问题回馈

  • 这边问题比较大,尤其是反转。reverse是<algorithm>下的函数,其需要提供一个迭代器范围,即代码中的`reverse(str.begin(), str.end())

13. 范围条件

企业发放的奖金来自利润提成。
利润i低于或等于 10 万元的,可提成10% 为奖金;
利润i高于10万元,低于或等于 20 万元(100000<i200000 时低于10 万元的部分按10%提成高于10万元的部分可提成7.5%;200000<i400000 时低于20 万的部分仍按上述办法提成(下同),高于20 万元的部分按 5% 提成;400000<i600000 时高于40万元的部分按3% 提成;600000 <i1000000 时高于60万元的部分按 1.5%提成i>1000000时,超过100万元的部分按1%提成。从键盘输入当月利润求应发奖金总数
要求:(1)用if语句编程序:
(2)用switch 语编序。

//过于机械化

14. 排序数字

输人4 个整数要求按由小到大的顺序输出。

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

void swap(int *num1, int *num2)
{
    int temp = *num2;
    *num2 = *num1;
    *num1 = temp;
}
int main(int argc, char const *argv[])
{

    int a, b, c, d;
    cin >> a >> b >> c >> d;
    int nums[] = {a, b, c, d};
    int length = sizeof(nums) / sizeof(nums[0]);
    for (int i = 0; i < length - 1; i++)
    {
        for (int j = 0; j < length - 1; j++)
        {
            if (nums[j] > nums[j + 1])
            {
                swap(nums[j], nums[j + 1]);
            }
        }
    }
    for (int i = 0; i < length; i++)
    {
        cout << nums[i] << ((i < 3) ? "," : "");
    }
    return 0;
}

问题回馈

  • 指针变量
  • 冒泡排序
  • 数组长度,数组与Array

15. 最小公倍数 最大公约数

输人两个正整数 m和n,求其最大公约数和最小公倍数。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 217,907评论 6 506
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,987评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,298评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,586评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,633评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,488评论 1 302
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,275评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,176评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,619评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,819评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,932评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,655评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,265评论 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,871评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,994评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,095评论 3 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,884评论 2 354

推荐阅读更多精彩内容