顺序结构程序设计 - 上

顺序结构程序设计 - 上

本部分题解主要顺序结构下的各种基础题目,包括了运算表达式、变量和常量、各种数据类型的输入输出、以及常见模拟数学题的锻炼,不包含任何分支选择循环等复杂结构,非常适合基础锻炼,感受程序的顺序执行过程!

求圆的面积

题目描述

​ 题目很简单,已知半径r,求一个圆的面积是多大。

公式不用提了吧~~

输入格式

  • 输入一个半径,浮点类型~

输出格式

  • 输出它对应的面积大小,保留两位小数哦!

样例输入

2

样例输出

12.57

解:

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

int main() {
    double PI = 3.1415926;
	double r;
	cin >> r;
	printf("%.2f", PI * (r * r));  // C风格输出
    
    // cout<<fixed<<setprecision(2)<< PI * (r * r);  // C++风格输出
    return 0;
}

拆分位数

题目描述

​ 学完算数运算符了,今天的作业是让你拆分一个三位数的个位、十位、百位!
你已经完全可以做了哦!

输入格式

  • 输入一个三位数

输出格式

  • 逆序输出这个三位数,输出个位、十位、百位,三个数字,用空格分开

样例输入

356

样例输出

6 5 3

解:

#include<iostream>
using namespace std;

int main() {
    int a;
	cin >> a;
	for (; a > 10; a = a/10) {
		cout << a % 10 << " ";
	}
	cout << a % 10;
    return 0;
}

学习ASCII码

题目描述

​ 刚开始学C语言,ASCII码可是必须要会的哦!那么问题来了,要求你用熟悉的printf输出字符常量 ’ t ’ 的ASCII以及ASCII码值63对应的字符!

注意,是两个结果,一个数字,一个字符,用空格隔开!

输入格式

输出格式

  • 字符常量 ’ t ’ 的ASCII以及ASCII码值63对应的字符!

样例输入

样例输出

解:

#include<iostream>
using namespace std;

int main() {
    printf("%d %c", 't', 63);
    return 0;
}

printf基础练习

题目描述

​ 继续练习printf函数,要求你输出123456789这个数字的八进制与十六进制,不要忘记他们的前缀哦!

输入格式

输出格式

  • 123456789这个数字的八进制和十六进制数

    两个结果占一行,空格分开

样例输入

样例输出

解:

#include<iostream>
using namespace std;

int main() {
    int a = 123456789;
	printf("%o\n", a, a);
	printf("%x", a);
    return 0;
}

交换值

题目描述

​ 输入两个正整数a和b,试交换a、b的值(使a的值等于b,b的值等于a)。

输入格式

  • 输入两个正整数a和b。

输出格式

  • 输出a与b交换值后的结果。

样例输入

2 3

样例输出

3 2

解:

#include<iostream>
using namespace std;

int main() {
    int a, b;
	cin >> a >> b;
	cout << b << ' ' << a;
    return 0;
}

整数的和

题目描述

​ 求3个整数的和。
输入a、b、c这3个整数,求它们的和。

输入格式

  • 3个整数,空格分开

输出格式

  • 三个数的和

样例输入

1 2 3

样例输出

6

解:

#include<iostream>
using namespace std;

int main() {
    int a, b, c;
	cin >> a >> b >> c;
	cout << (a + b + c);
    return 0;
}

买图书

题目描述

​ 已知小明有n元,他买了一本书,这本书原价为m元,现在打8折出售。求小明还剩多少钱(保留2位小数)。

输入格式

  • 输入n,m,空格分隔

输出格式

  • 小明还剩多少钱(保留2位小数)。

样例输入

100 100

样例输出

20.00

解:

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

int main() {
    int n, m;
	cin >> n >> m;
	double y = n - (m * 0.8);
	printf("%.2f", y);  // C风格输出
    
    // cout<<fixed<<setprecision(2)<< y;  // C++风格输出
    return 0;
}

整型与布尔型的转换

题目描述

​ 将一个整型变量的值赋给一个布尔型变量,再将这个布尔型变量的值赋给一个整型变量,得到的值是多少?

输入格式

  • 一个整型范围内的整数,即初始时整型变量的值。

输出格式

  • 一个整数,经过上述过程后得到的结果。

样例输入

3

样例输出

1

解:

#include<iostream>
using namespace std;

int main() {
    int a;
	cin >> a;
	a = (bool)a;
	cout << a;
    return 0;
}

Hello, World!的大小

题目描述

​ 还记得我们曾经输出过的“Hello, World!”吗?

我们可以用sizeof函数获得它所占用的空间大小。

请编程求出它的大小,看看跟你设想的是否一样?

输入格式

输出格式

  • 一个整数,即“Hello, World!”的大小。

样例输入

样例输出

解:

#include<iostream>
using namespace std;

int main() {
    // “Hello, World!”是字符串类型。
    cout << sizeof("Hello, World!");
    return 0;
}

计算(a+b)*c的值

题目描述

​ 给定3个整数a、b、c,计算表达式(a+b)*c的值。

输入格式

  • 输入仅一行,包括三个整数a、b、c, 数与数之间以一个空格分开。
    (-10,000 < a,b,c < 10,000)

输出格式

  • 输出一行,即表达式的值。

样例输入

2 3 5

样例输出

25

解:

#include<iostream>
using namespace std;

int main() {
    int a, b, c;
	cin >> a >> b >> c;
	cout << (a + b) * c;
    return 0;
}

计算(a+b)/c的值

题目描述

​ 给定3个整数a、b、c,计算表达式(a+b)/c的值,/是整除运算。

输入格式

  • 输入仅一行,包括三个整数a、b、c, 数与数之间以一个空格分开。(-10,000 < a,b,c < 10,000, c不等于0)

输出格式

  • 输出一行,即表达式的值。

样例输入

1 1 3

样例输出

0

解:

#include<iostream>
using namespace std;

int main() {
    int a, b, c;
	cin >> a >> b >> c;
	cout << (a + b) / c;
    return 0;
}

带余除法

题目描述

​ 给定被除数和除数,求整数商及余数。

此题中请使用默认的整除和取余运算,无需对结果进行任何特殊处理。看看程序运行结果与数学上的定义有什么不同?

输入格式

  • 一行,包含两个整数,依次为被除数和除数(除数非零),中间用一个空格隔开。

输出格式

  • 一行,包含两个整数,依次为整数商和余数,中间用一个空格隔开。

样例输入

10 3

样例输出

3 1

解:

#include<iostream>
using namespace std;

int main() {
    int a, b;
	cin >> a >> b;
	cout << (int)a / b << ' ';
	cout << (int)a % b;
    return 0;
}

计算分数的浮点数值

题目描述

​ 两个整数a和b分别作为分子和分母,既分数 a/b ,求它的浮点数值(双精度浮点数,保留小数点后9位)。

输入格式

  • 输入仅一行,包括两个整数a和b(b不为0)。

输出格式

  • 输出也仅一行,分数 a/b 的浮点数值(双精度浮点数,保留小数点后9位)。

样例输入

5 7

样例输出

0.714285714

解:

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

int main() {
    double a, b;
	cin >> a >> b;
	double y = a / b;
	printf("%.9f", y);  // C风格输出
    
    // cout<<fixed<<setprecision(9)<< y;  // C++风格输出
    return 0;
}

鸡兔同笼问题

题目描述

​ 数学中经典的“鸡兔同笼”问题,已知头共x个,脚共y只,问笼中的鸡和兔各有多少只?

输入格式

  • 头和脚的数量

输出格式

  • 鸡和兔各自数量。一个空格隔开。

样例输入

30 90

样例输出

15 15

解:

#include<iostream>
using namespace std;

int main() {
    int x, y;
	cin >> x >> y;
	int b = (y - 2 * x) / 2;
	cout << x - b << " " << b;
    return 0;
}

甲流疫情死亡率

题目描述

​ 甲流并不可怕,在中国,它的死亡率并不是很高。请根据截止2009年12月22日各省报告的甲流确诊数和死亡数,计算甲流在各省的死亡率。

输入格式

  • 输入仅一行,有两个整数,第一个为确诊数,第二个为死亡数。

输出格式

  • 输出仅一行,甲流死亡率,以百分数形式输出,精确到小数点后3位。

样例输入

10433 60

样例输出

0.575%

提示:输出%可以使用printf(“%%”);

解:

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

int main() {
    double n , m;
	cin >> m >> n;
	double y = (n / m) * 100;
	printf("%.3f%%", y);  // C风格输出
    
    // cout<<fixed<<setprecision(3)<< y;  // C++风格输出
    return 0;
}

计算多项式的值

题目描述

​ 对于多项式f(x) = ax^3 + bx^2 + cx + d 和给定的a, b, c, d, x,计算f(x)的值。

输入格式

  • 输入仅一行,包含5个实数,分别是x,及参数a、b、c、d的值,每个数都是绝对值不超过100的双精度浮点数。数与数之间以一个空格分开。8.316 9.24

输出格式

  • 输出一个实数,即f(x)的值,保留到小数点后7位。

样例输入

2.31 1.2 2 2 3

样例输出

33.0838692

解:

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

int main() {
    double x, a, b, c, d;
	cin >> x >> a >> b >> c >> d;
	double x2 = x * x;
	double y = (a * x * x2) + b * x2 + c * x + d;
	printf("%.7f", y);  // C风格输出
    
    // cout<<fixed<<setprecision(7)<< y;  // C++风格输出
    return 0;
}

二级C语言-温度转换

题目描述

​ 输入一个华氏温度,要求输出摄氏温度。公式为
在这里插入图片描述
保留两位小数

输入格式

输出格式

样例输入

-40

样例输出

-40.00

解:

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

int main() {
    double a = 5.0 / 9.0;
	double x;
	cin >> x;
	printf("%.2f", a * (x - 32));  // C风格输出
    
    // cout<<fixed<<setprecision(2)<< a * (x - 32);  // C++风格输出
    return 0;
}

与圆相关的计算

题目描述

​ 给出圆的半径,求圆的直径、周长和面积。

输入格式

  • 输入包含一个实数r(0 < r <= 10,000),表示圆的半径。

输出格式

  • 输出一行,包含三个数,分别表示圆的直径、周长、面积,数与数之间以一个空格分开,每个数保留小数点后4位。

样例输入

3.0

样例输出

6.0000 18.8495 28.2743

提示:如果圆的半径是r,那么圆的直径、周长、面积分别是2*r、2 * pi * r、pi * r * r,其中约定pi=3.14159。
可以使用printf(“%.4lf”, …)实现保留小数点后4位。

解:

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

int main() {
    float pi = 3.14159;
	int r;
	cin >> r;
	double x = 2 * r;
	double y = 2 * r * pi;
	double z = r * r * pi;
	printf("%.4lf %.4lf %.4lf", x, y, z);  // C风格输出
    
    // cout<<fixed<<setprecision(4)<< x << ' ' << y << ' ' << z;  // C++风格输出
    return 0;
}

计算并联电阻的阻值

题目描述

​ 对于阻值为r1和r2的电阻,其并联电阻阻值公式计算如下:

R = 1/(1/r1 + 1/r2)

输入格式

  • 两个电阻阻抗大小,浮点型,以一个空格分开。

输出格式

  • 并联之后的阻抗大小,结果保留小数点后2位。

样例输入

1 2

样例输出

0.67

**提示:**计算过程使用float类型

解:

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

int main() {
    float r1, r2;
	cin >> r1 >> r2;
	float r = 1 / (1 / r1 + 1 / r2);
	printf("%.2f", r);  // C风格输出
    
    // cout<<fixed<<setprecision(2)<< r;  // C++风格输出
    return 0;
}

成绩

题目描述

​ 牛牛最近学习了 C++入门课程,这门课程的总成绩计算方法是:
总成绩 = 作业成绩 × 20% + 小测成绩 × 30% + 期末考试成绩 × 50%
牛牛想知道,这门课程自己最终能得到多少分。

输入格式

  • 只有 1 行,包含三个非负整数A、B、C,分别表示牛牛的作业成绩、小测 成绩和期末考试成绩。相邻两个数之间用一个空格隔开,三项成绩满分都是 100 分。

输出格式

  • 只有 1 行,包含一个整数,即牛牛这门课程的总成绩,满分也是 100 分。

样例输入

100 100 80

样例输出

90

解:

#include<iostream>
using namespace std;

int main() {
	int a, b, c;
	cin >> a >> b >> c;
	cout << (int)(a * 0.2 + b * 0.3 + c * 0.5);
    return 0;
}

题目描述

输入格式

输出格式

样例输入

样例输出

解:

#include<iostream>
using namespace std;

int main() {
    return 0;
}

r2;
float r = 1 / (1 / r1 + 1 / r2);
printf(“%.2f”, r); // C风格输出

// cout<<fixed<<setprecision(2)<< r;  // C++风格输出
return 0;

}




### 成绩

**题目描述**:

​		牛牛最近学习了 C++入门课程,这门课程的总成绩计算方法是:
总成绩 = 作业成绩 × 20% + 小测成绩 × 30% + 期末考试成绩 × 50%
牛牛想知道,这门课程自己最终能得到多少分。

**输入格式**

- 只有 1 行,包含三个非负整数A、B、C,分别表示牛牛的作业成绩、小测 成绩和期末考试成绩。相邻两个数之间用一个空格隔开,三项成绩满分都是 100 分。

**输出格式**

- 只有 1 行,包含一个整数,即牛牛这门课程的总成绩,满分也是 100 分。

**样例输入**

>100 100 80

**样例输出**

>90

解:

```c++
#include<iostream>
using namespace std;

int main() {
	int a, b, c;
	cin >> a >> b >> c;
	cout << (int)(a * 0.2 + b * 0.3 + c * 0.5);
    return 0;
}
  • 20
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值