策劃會(huì)展網(wǎng)站建設(shè)論壇推廣軟件
目錄
1011 : 圓柱體表面積
C語(yǔ)言版?
C++版
?1012 : 求絕對(duì)值
C語(yǔ)言版
C++版?
1013 : 求兩點(diǎn)間距離?
?C語(yǔ)言版
?C++版
?1014 : 求三角形的面積
?C語(yǔ)言版
C++版?
1015 : 二次方程的實(shí)根
C語(yǔ)言版?
?C++版
?1016 : 銀行利率
?C語(yǔ)言版
C++版?
1017 : 表面積和體積
C語(yǔ)言版?
C++版??
代碼邏輯解釋
1018 : 奇數(shù)偶數(shù)
C語(yǔ)言版?
C++版
?1019 : 公園門(mén)票
?C語(yǔ)言版
C++版?
1020 : 兩整數(shù)排序
C語(yǔ)言版
?收藏加關(guān)注,觀看不迷路
?
1011 : 圓柱體表面積
題目描述
輸入圓柱體的底面半徑r和高h(yuǎn),計(jì)算圓柱體的表面積并輸出到屏幕上。要求定義圓周率為如下宏常量?
#define?PI?3.14159輸入
輸入兩個(gè)實(shí)數(shù),表示圓柱體的底面半徑r和高h(yuǎn)。
輸出
輸出一個(gè)實(shí)數(shù),即圓柱體的表面積,保留2位小數(shù),單獨(dú)占一行。
樣例輸入
1 1
樣例輸出
12.57
注意:輸入為實(shí)數(shù),用double定義變量,輸出格式也要注意?
C語(yǔ)言版?
#include<stdio.h> // 包含標(biāo)準(zhǔn)輸入輸出庫(kù)
#define PI 3.14159 // 定義圓周率 PI 的值為 3.14159int main() // 主函數(shù)入口
{double r, h; // 定義兩個(gè)雙精度浮點(diǎn)變量 r 和 h,分別表示圓柱的底面半徑和高scanf("%lf %lf", &r, &h); // 從用戶(hù)輸入中讀取半徑 r 和高 hdouble S, s1, s2; // 定義三個(gè)雙精度浮點(diǎn)變量 S、s1 和 s2,分別用于存儲(chǔ)圓柱的總表面積、兩個(gè)底面的面積和側(cè)面積s1 = 2 * PI * r * r; // 計(jì)算兩個(gè)底面的面積,公式為 2πr2s2 = 2 * PI * r * h; // 計(jì)算側(cè)面積,公式為 2πrhS = s1 + s2; // 計(jì)算總表面積,即兩個(gè)底面面積加上側(cè)面積printf("%.2f\n", S); // 輸出總表面積 S,保留兩位小數(shù)return 0; // 程序正常結(jié)束
}
C++版
了解C++操縱符:
C++ 中用于控制輸出格式的操縱符——setw 、setfill、setprecision、fixed -CSDN博客
#include<iostream> // 包含輸入輸出流庫(kù)
#include<iomanip> // 包含用于控制輸入輸出格式的庫(kù)
#define PI 3.14159 // 定義圓周率 PI 的值為 3.14159
#define av(y) setprecision(y) << fixed // 定義宏 av(y),用于設(shè)置輸出精度為 y 位小數(shù),并固定為小數(shù)點(diǎn)后 y 位
using namespace std; // 使用標(biāo)準(zhǔn)命名空間 stdint main() // 主函數(shù)入口
{double r, h; // 定義兩個(gè)雙精度浮點(diǎn)變量 r 和 h,分別表示圓柱的底面半徑和高cin >> r >> h; // 從標(biāo)準(zhǔn)輸入讀取半徑 r 和高 hdouble S, s1, s2; // 定義三個(gè)雙精度浮點(diǎn)變量 S、s1 和 s2,分別用于存儲(chǔ)圓柱的總表面積、兩個(gè)底面的面積和側(cè)面積s1 = 2 * PI * r * r; // 計(jì)算兩個(gè)底面的面積,公式為 2πr2s2 = 2 * PI * r * h; // 計(jì)算側(cè)面積,公式為 2πrhS = s1 + s2; // 計(jì)算總表面積,即兩個(gè)底面面積加上側(cè)面積cout << av(2) << S << endl; // 使用 av(2) 宏設(shè)置輸出精度為兩位小數(shù),然后輸出總表面積 S,并換行return 0; // 程序正常結(jié)束
}
?1012 : 求絕對(duì)值
題目描述
求實(shí)數(shù)的絕對(duì)值。
輸入
輸入一個(gè)實(shí)數(shù)。
輸出
輸出它的絕對(duì)值,結(jié)果保留兩位小數(shù)。
樣例輸入
-234.00樣例輸出
234.00注意:本題需要使用函數(shù)庫(kù)中的絕對(duì)值函數(shù)fabs()
注意:輸入為實(shí)數(shù),用double定義變量,輸出格式也要注意
了解數(shù)學(xué)函數(shù)點(diǎn)擊:簡(jiǎn)要介紹C語(yǔ)言與c++共有的數(shù)學(xué)函數(shù)-CSDN博客
C語(yǔ)言版
#include<stdio.h> // 包含標(biāo)準(zhǔn)輸入輸出庫(kù)頭文件,用于輸入輸出操作
#include<math.h> // 包含數(shù)學(xué)庫(kù)頭文件,用于調(diào)用數(shù)學(xué)函數(shù),如絕對(duì)值函數(shù)int main() // 主函數(shù),程序的入口
{double num; // 定義一個(gè)雙精度浮點(diǎn)型變量num,用于存儲(chǔ)用戶(hù)輸入的數(shù)值scanf("%lf", &num); // 從標(biāo)準(zhǔn)輸入讀取一個(gè)雙精度浮點(diǎn)數(shù),存儲(chǔ)到變量num中printf("%.2f\n", fabs(num)); // 調(diào)用fabs函數(shù)計(jì)算num的絕對(duì)值,并以小數(shù)點(diǎn)后兩位的格式輸出return 0; // 程序正常結(jié)束,返回值為0
}
C++版?
?了解C++操縱符:
C++ 中用于控制輸出格式的操縱符——setw 、setfill、setprecision、fixed -CSDN博客
#include<iostream> // 包含標(biāo)準(zhǔn)輸入輸出流庫(kù),用于cin和cout操作
#include<iomanip> // 包含輸入輸出格式控制庫(kù),用于設(shè)置輸出格式(如精度)
#include<cmath> // 包含數(shù)學(xué)庫(kù),用于調(diào)用數(shù)學(xué)函數(shù)(如絕對(duì)值函數(shù)fabs)
#define av(y) setprecision(y)<<fixed // 定義一個(gè)宏av,用于設(shè)置輸出精度為y位小數(shù),并固定小數(shù)點(diǎn)
using namespace std; // 使用標(biāo)準(zhǔn)命名空間std,避免每次調(diào)用標(biāo)準(zhǔn)庫(kù)函數(shù)或?qū)ο髸r(shí)都需要加std::
int main() // 主函數(shù),程序的入口
{double a; // 定義一個(gè)雙精度浮點(diǎn)型變量a,用于存儲(chǔ)用戶(hù)輸入的數(shù)值cin >> a; // 從標(biāo)準(zhǔn)輸入讀取一個(gè)雙精度浮點(diǎn)數(shù),存儲(chǔ)到變量a中cout << av(2) << fabs(a) << endl; // 使用宏av(2)設(shè)置輸出精度為2位小數(shù),調(diào)用fabs函數(shù)計(jì)算a的絕對(duì)值并輸出,endl用于換行return 0; // 程序正常結(jié)束,返回值為0
}
1013 : 求兩點(diǎn)間距離?
題目描述
給定A(x1,?y1),?B(x2,?y2)兩點(diǎn)坐標(biāo),計(jì)算它們間的距離。?
輸入
輸入包含四個(gè)實(shí)數(shù)x1,?y1,?x2,?y2,分別用空格隔開(kāi),含義如描述。其中0≤x1,x2,y1,y2≤100。
輸出
輸出占一行,包含一個(gè)實(shí)數(shù)d,表示A,?B兩點(diǎn)間的距離。結(jié)果保留兩位小數(shù)
樣例輸入
1 1 2 2
樣例輸出
1.41
注意:本題需要使用函數(shù)庫(kù)中的絕對(duì)值函數(shù)sqrt()
?了解數(shù)學(xué)函數(shù)點(diǎn)擊:簡(jiǎn)要介紹C語(yǔ)言與c++共有的數(shù)學(xué)函數(shù)-CSDN博客
?C語(yǔ)言版
#include<stdio.h> // 包含標(biāo)準(zhǔn)輸入輸出庫(kù)頭文件,用于輸入輸出操作
#include<math.h> // 包含數(shù)學(xué)庫(kù)頭文件,用于調(diào)用數(shù)學(xué)函數(shù),如平方根函數(shù)sqrtint main() // 主函數(shù),程序的入口
{double x1, y1, x2, y2; // 定義四個(gè)雙精度浮點(diǎn)型變量,用于存儲(chǔ)兩個(gè)點(diǎn)的坐標(biāo)scanf("%lf%lf%lf%lf", &x1, &y1, &x2, &y2); // 從標(biāo)準(zhǔn)輸入讀取四個(gè)雙精度浮點(diǎn)數(shù),分別存儲(chǔ)到變量x1, y1, x2, y2中double distance = sqrt((x1-x2)*(x1-x2) + (y1-y2)*(y1-y2)); // 計(jì)算兩點(diǎn)之間的距離printf("%.2f", distance); // 以小數(shù)點(diǎn)后兩位的格式輸出距離return 0; // 程序正常結(jié)束,返回值為0
}
?C++版
?了解C++操縱符:
C++ 中用于控制輸出格式的操縱符——setw 、setfill、setprecision、fixed -CSDN博客
#include<iostream> // 包含標(biāo)準(zhǔn)輸入輸出流庫(kù),用于cin和cout操作
#include<iomanip> // 包含輸入輸出格式控制庫(kù),用于設(shè)置輸出格式(如精度)
#include<cmath> // 包含數(shù)學(xué)庫(kù),用于調(diào)用數(shù)學(xué)函數(shù)(如sqrt)
#define av(y) setprecision(y) << fixed // 定義一個(gè)宏av(y),用于設(shè)置輸出精度為y位小數(shù),并固定小數(shù)點(diǎn)
using namespace std; // 使用標(biāo)準(zhǔn)命名空間std,避免每次調(diào)用標(biāo)準(zhǔn)庫(kù)函數(shù)或?qū)ο髸r(shí)都需要加std::
int main() // 主函數(shù),程序的入口
{double x1, y1, x2, y2; // 定義四個(gè)雙精度浮點(diǎn)型變量,分別表示兩個(gè)點(diǎn)的坐標(biāo)cin >> x1 >> y1 >> x2 >> y2; // 從標(biāo)準(zhǔn)輸入讀取兩個(gè)點(diǎn)的坐標(biāo)double distance = sqrt((x1 - x2) * (x1 - x2) + (y1 - y2) * (y1 - y2)); // 計(jì)算兩點(diǎn)之間的歐幾里得距離cout << av(2) << distance << endl; // 使用宏av(2)設(shè)置輸出精度為2位小數(shù),輸出計(jì)算得到的距離,并換行return 0; // 程序正常結(jié)束,返回值為0
}
?1014 : 求三角形的面積
題目描述
給出三角形的三條邊,求三角形的面積。
輸入
輸入三角形的三條邊長(zhǎng)(實(shí)數(shù)),數(shù)據(jù)之間用空格隔開(kāi)。
輸出
輸出三角形的面積,結(jié)果保留2位小數(shù)。
樣例輸入
2.5 4 5
樣例輸出
4.95
注意:本題需要使用函數(shù)庫(kù)中的開(kāi)平方函數(shù)sqrt()
?了解數(shù)學(xué)函數(shù)點(diǎn)擊:簡(jiǎn)要介紹C語(yǔ)言與c++共有的數(shù)學(xué)函數(shù)-CSDN博客
?C語(yǔ)言版
#include<stdio.h> // 包含標(biāo)準(zhǔn)輸入輸出庫(kù)頭文件,用于輸入輸出操作
#include<math.h> // 包含數(shù)學(xué)庫(kù)頭文件,用于調(diào)用數(shù)學(xué)函數(shù),如平方根函數(shù)sqrtint main() // 主函數(shù),程序的入口
{double a, b, c, p, S; // 定義五個(gè)雙精度浮點(diǎn)型變量,用于存儲(chǔ)三角形的三邊長(zhǎng)、半周長(zhǎng)和面積scanf("%lf%lf%lf", &a, &b, &c); // 從標(biāo)準(zhǔn)輸入讀取三個(gè)雙精度浮點(diǎn)數(shù),分別存儲(chǔ)到變量a, b, c中p = (a + b + c) / 2; // 計(jì)算三角形的半周長(zhǎng)S = sqrt(p * (p - a) * (p - b) * (p - c)); // 使用海倫公式計(jì)算三角形的面積printf("%.2f\n", S); // 以小數(shù)點(diǎn)后兩位的格式輸出三角形的面積,\n用于換行return 0; // 程序正常結(jié)束,返回值為0
}
C++版?
?了解C++操縱符:
C++ 中用于控制輸出格式的操縱符——setw 、setfill、setprecision、fixed -CSDN博客
#include<iostream> // 包含標(biāo)準(zhǔn)輸入輸出流庫(kù),用于cin和cout
#include<iomanip> // 包含輸入輸出格式控制庫(kù),用于setprecision等格式化操作
#include<cmath> // 包含數(shù)學(xué)庫(kù),用于調(diào)用sqrt等數(shù)學(xué)函數(shù)
#define av(y) setprecision(y)<<fixed // 定義一個(gè)宏av,用于設(shè)置輸出的精度為y位小數(shù),并固定小數(shù)點(diǎn)格式
using namespace std; // 使用標(biāo)準(zhǔn)命名空間,避免每次調(diào)用標(biāo)準(zhǔn)庫(kù)功能時(shí)都需要加std::
int main() // 主函數(shù),程序的入口
{double a, b, c, p, S; // 定義五個(gè)雙精度浮點(diǎn)數(shù)變量,分別表示三角形的三邊長(zhǎng)、半周長(zhǎng)和面積cin >> a >> b >> c; // 從標(biāo)準(zhǔn)輸入讀取三角形的三邊長(zhǎng) a、b 和 c// 計(jì)算三角形的半周長(zhǎng) pp = (a + b + c) / 2;// 使用海倫公式計(jì)算三角形的面積 SS = sqrt(p * (p - a) * (p - b) * (p - c));// 使用宏av設(shè)置輸出精度為2位小數(shù),并輸出面積S,換行cout << av(2) << S << endl;return 0; // 程序正常結(jié)束,返回0
}
1015 : 二次方程的實(shí)根
題目描述
編程計(jì)算并輸出一元二次方程ax^2+bx+c=0的兩個(gè)實(shí)根,其中a、b、c的值由用戶(hù)從鍵盤(pán)輸入,假設(shè)a、b、c的值能保證方程有兩個(gè)不相等的實(shí)根(即b^2-4ac>0)。
輸入
輸入三個(gè)實(shí)數(shù),以空格隔開(kāi)。
輸出
輸出兩個(gè)實(shí)數(shù),每個(gè)數(shù)據(jù)占7列、小數(shù)點(diǎn)后保留兩位小數(shù),不足7列右對(duì)齊。
樣例輸入
2 6 1
樣例輸出
-0.18 -2.82
?注意:本題需要使用函數(shù)庫(kù)中的開(kāi)平方函數(shù)sqrt()
?了解數(shù)學(xué)函數(shù)點(diǎn)擊:簡(jiǎn)要介紹C語(yǔ)言與c++共有的數(shù)學(xué)函數(shù)-CSDN博客??????
C語(yǔ)言版?
#include<stdio.h> // 包含標(biāo)準(zhǔn)輸入輸出庫(kù),用于實(shí)現(xiàn)輸入輸出功能
#include<math.h> // 包含數(shù)學(xué)庫(kù),用于調(diào)用sqrt等數(shù)學(xué)函數(shù)int main() // 主函數(shù),程序的入口
{double a, b, c, p, y1, y2; // 定義六個(gè)雙精度浮點(diǎn)數(shù)變量,分別表示二次方程的系數(shù)、判別式和兩個(gè)根scanf("%lf%lf%lf", &a, &b, &c); // 從標(biāo)準(zhǔn)輸入讀取二次方程的系數(shù)a、b和c// 計(jì)算判別式 pp = b * b - 4 * a * c;// 計(jì)算二次方程的兩個(gè)根 y1 和 y2y1 = (-b + sqrt(p)) / (2 * a);y2 = (-b - sqrt(p)) / (2 * a);// 輸出兩個(gè)根,每個(gè)根保留兩位小數(shù),且兩個(gè)根之間有7個(gè)字符的寬度printf("%7.2f%7.2f\n", y1, y2);return 0; // 程序正常結(jié)束,返回0
}
?C++版
?了解C++操縱符:
C++ 中用于控制輸出格式的操縱符——setw 、setfill、setprecision、fixed -CSDN博客
#include<iostream> // 包含標(biāo)準(zhǔn)輸入輸出流庫(kù),用于cin和cout
#include<iomanip> // 包含輸入輸出格式控制庫(kù),用于setprecision和setw等格式化操作
#include<cmath> // 包含數(shù)學(xué)庫(kù),用于調(diào)用sqrt等數(shù)學(xué)函數(shù)
#define av(y) setprecision(y)<<fixed // 定義一個(gè)宏av,用于設(shè)置輸出的精度為y位小數(shù),并固定小數(shù)點(diǎn)格式
using namespace std; // 使用標(biāo)準(zhǔn)命名空間,避免每次調(diào)用標(biāo)準(zhǔn)庫(kù)功能時(shí)都需要加std::
int main() // 主函數(shù),程序的入口
{double a, b, c, p, y1, y2; // 定義六個(gè)雙精度浮點(diǎn)數(shù)變量,分別表示二次方程的系數(shù)、判別式和兩個(gè)根cin >> a >> b >> c; // 從標(biāo)準(zhǔn)輸入讀取二次方程的系數(shù)a、b和c// 計(jì)算判別式 pp = b * b - 4 * a * c;// 計(jì)算二次方程的兩個(gè)根 y1 和 y2y1 = (-b + sqrt(p)) / (2 * a);y2 = (-b - sqrt(p)) / (2 * a);// 使用setw設(shè)置輸出寬度為7個(gè)字符,使用av設(shè)置輸出精度為2位小數(shù)// 輸出兩個(gè)根,每個(gè)根保留兩位小數(shù),且兩個(gè)根之間有7個(gè)字符的寬度cout << setw(7) << av(2) << y1 << setw(7) << av(2) << y2 << endl;return 0; // 程序正常結(jié)束,返回0
}
?1016 : 銀行利率
題目描述
設(shè)銀行1年期定期存款年利率為2.25%,存款本金為capital元,試編程計(jì)算并輸出n年后的本利之和。
輸入
輸入一個(gè)正整數(shù)和一個(gè)實(shí)數(shù),分別代表存款年數(shù)和存款本金。
輸出
輸出一個(gè)雙精度實(shí)數(shù),小數(shù)點(diǎn)后保留6位有效數(shù)字。
樣例輸入
2 100
樣例輸出
104.550625
注意:輸入為實(shí)數(shù),用double定義變量,輸出格式也要注意
?C語(yǔ)言版
#include <stdio.h> // 引入標(biāo)準(zhǔn)輸入輸出庫(kù)
#define rate 1.0225 // 定義年利率為1.0225(即2.25%的復(fù)利增長(zhǎng)率)int main() {int year; // 定義變量year,用于存儲(chǔ)用戶(hù)輸入的年數(shù)double base; // 定義變量base,用于存儲(chǔ)用戶(hù)輸入的初始金額// 從標(biāo)準(zhǔn)輸入讀取年數(shù)和初始金額scanf("%d %lf", &year, &base);// 循環(huán)計(jì)算每年的復(fù)利增長(zhǎng)for (int i = 1; i <= year; i++) {base = base * rate; // 每年金額乘以利率rate,實(shí)現(xiàn)復(fù)利計(jì)算}// 輸出最終金額,保留6位小數(shù),并換行printf("%.6f\n", base);return 0; // 程序正常結(jié)束
}
C++版?
??了解C++操縱符:
C++ 中用于控制輸出格式的操縱符——setw 、setfill、setprecision、fixed -CSDN博客
#include <iostream> // 引入標(biāo)準(zhǔn)輸入輸出流庫(kù)
#include <iomanip> // 引入格式化輸出庫(kù),用于設(shè)置輸出格式
#include <cmath> // 引入數(shù)學(xué)函數(shù)庫(kù)(雖然在這段代碼中沒(méi)有用到)
#define av(y) std::setprecision(y) << std::fixed // 定義宏av(y),用于設(shè)置輸出的小數(shù)精度為y位,并且以固定小數(shù)點(diǎn)格式輸出
#define rate 1.0225 // 定義年利率rate為1.0225(即2.25%的復(fù)利增長(zhǎng)率)
using namespace std; // 使用標(biāo)準(zhǔn)命名空間,避免重復(fù)書(shū)寫(xiě)std::int main() {int year; // 定義變量year,用于存儲(chǔ)用戶(hù)輸入的年數(shù)double base; // 定義變量base,用于存儲(chǔ)用戶(hù)輸入的初始金額// 從標(biāo)準(zhǔn)輸入讀取年數(shù)和初始金額cin >> year >> base;// 循環(huán)計(jì)算每年的復(fù)利增長(zhǎng)for (int i = 1; i <= year; i++) {base = base * rate; // 每年金額乘以利率rate,實(shí)現(xiàn)復(fù)利計(jì)算}// 輸出最終金額,保留6位小數(shù)cout << av(6) << base << endl;return 0; // 程序正常結(jié)束
}
1017 : 表面積和體積
寫(xiě)出本題需要一定的空間思維能力
C語(yǔ)言版?
#include<stdio.h>int main()
{int a, b, c, d, e; // 定義變量,分別表示長(zhǎng)方體的長(zhǎng)、寬、高,凹陷深度和邊框?qū)挾萻canf("%d%d%d%d%d", &a, &b, &c, &d, &e); // 從用戶(hù)輸入讀取長(zhǎng)方體的尺寸和凹陷參數(shù)// 計(jì)算原始長(zhǎng)方體的表面積int S = 2 * a * b + 2 * a * c + 2 * b * c; // 原始表面積公式:2(ab + ac + bc)// 計(jì)算凹陷部分增加的面積int s1, s2, s3; // 分別表示三個(gè)方向的凹陷增加面積s1 = 8 * d * (a - 2 * e); // 長(zhǎng)方向的凹陷增加面積,每個(gè)凹陷有4個(gè)側(cè)面,共2個(gè)凹陷s2 = 8 * d * (b - 2 * e); // 寬方向的凹陷增加面積s3 = 8 * d * (c - 2 * e); // 高方向的凹陷增加面積int ansS = S + s1 + s2 + s3; // 總表面積 = 原始表面積 + 凹陷增加的面積// 計(jì)算原始長(zhǎng)方體的體積int V = a * b * c; // 原始體積公式:長(zhǎng)×寬×高// 計(jì)算凹陷部分的體積int v1, v2, v3; // 分別表示三個(gè)方向的凹陷體積v1 = 2 * (a - 2 * e) * (b - 2 * e) * d; // 長(zhǎng)方向的凹陷體積,2個(gè)凹陷v2 = 2 * (a - 2 * e) * (c - 2 * e) * d; // 寬方向的凹陷體積v3 = 2 * (b - 2 * e) * (c - 2 * e) * d; // 高方向的凹陷體積int ansV = V - v1 - v2 - v3; // 總體積 = 原始體積 - 凹陷體積// 輸出最終的表面積和體積printf("%d %d\n", ansS, ansV);return 0; // 程序結(jié)束
}
C++版??
#include<iostream> // 引入輸入輸出流庫(kù)
#include<iomanip> // 引入格式化輸出庫(kù)
#include<cmath> // 引入數(shù)學(xué)函數(shù)庫(kù)
#define av(y) setprecision(y) << fixed // 定義一個(gè)宏,用于設(shè)置輸出的小數(shù)精度
using namespace std; // 使用標(biāo)準(zhǔn)命名空間int main()
{int a, b, c, d, e; // 定義變量,分別表示長(zhǎng)方體的長(zhǎng)、寬、高、凹陷深度和邊框?qū)挾萩in >> a >> b >> c >> d >> e; // 從標(biāo)準(zhǔn)輸入讀取這些參數(shù)// 計(jì)算原始長(zhǎng)方體的表面積int S = 2 * a * b + 2 * a * c + 2 * b * c; // 原始表面積公式:2(ab + ac + bc)// 計(jì)算凹陷部分增加的面積int s1, s2, s3; // 分別表示三個(gè)方向的凹陷增加面積s1 = 8 * d * (a - 2 * e); // 長(zhǎng)方向的凹陷增加面積:每個(gè)凹陷有4個(gè)側(cè)面,共2個(gè)凹陷s2 = 8 * d * (b - 2 * e); // 寬方向的凹陷增加面積s3 = 8 * d * (c - 2 * e); // 高方向的凹陷增加面積int ansS = S + s1 + s2 + s3; // 總表面積 = 原始表面積 + 凹陷增加的面積// 計(jì)算原始長(zhǎng)方體的體積int V = a * b * c; // 原始體積公式:長(zhǎng)×寬×高// 計(jì)算凹陷部分的體積int v1, v2, v3; // 分別表示三個(gè)方向的凹陷體積v1 = 2 * (a - 2 * e) * (b - 2 * e) * d; // 長(zhǎng)方向的凹陷體積:2個(gè)凹陷v2 = 2 * (a - 2 * e) * (c - 2 * e) * d; // 寬方向的凹陷體積v3 = 2 * (b - 2 * e) * (c - 2 * e) * d; // 高方向的凹陷體積int ansV = V - v1 - v2 - v3; // 總體積 = 原始體積 - 凹陷體積// 輸出最終的表面積和體積cout << ansS << " " << ansV << endl;return 0; // 程序結(jié)束
}
代碼邏輯解釋
輸入?yún)?shù):
a
、b
、c
分別表示長(zhǎng)方體的長(zhǎng)、寬和高。
d
表示凹陷的深度。
e
表示沒(méi)有凹陷的邊框?qū)挾取?/p>計(jì)算原始表面積:
原始表面積公式為 2(ab+ac+bc),即長(zhǎng)方體六個(gè)面的總面積。
計(jì)算凹陷增加的面積:
每個(gè)凹陷部分在每個(gè)方向上都會(huì)增加額外的表面積。由于每個(gè)凹陷有4個(gè)側(cè)面,且長(zhǎng)方體的每個(gè)方向上有2個(gè)凹陷,因此:
s1
表示長(zhǎng)方向的凹陷增加面積,公式為 8d(a?2e)。
s2
表示寬方向的凹陷增加面積,公式為 8d(b?2e)。
s3
表示高方向的凹陷增加面積,公式為 8d(c?2e)。計(jì)算總表面積:
總表面積等于原始表面積加上凹陷部分增加的面積。
計(jì)算原始體積:
原始體積公式為 a×b×c。
計(jì)算凹陷體積:
每個(gè)凹陷部分的體積為凹陷的深度乘以凹陷區(qū)域的面積。由于每個(gè)方向上有2個(gè)凹陷:
v1
表示長(zhǎng)方向的凹陷體積,公式為 2(a?2e)(b?2e)d。
v2
表示寬方向的凹陷體積,公式為 2(a?2e)(c?2e)d。
v3
表示高方向的凹陷體積,公式為 2(b?2e)(c?2e)d。計(jì)算總體積:
總體積等于原始體積減去凹陷部分的體積。
輸出結(jié)果:
輸出最終的表面積和體積。
1018 : 奇數(shù)偶數(shù)
題目描述
輸入一個(gè)整數(shù),判斷該數(shù)是奇數(shù)還是偶數(shù)。
輸入
任一整數(shù)n。
輸出
如果該數(shù)是奇數(shù)就輸出“odd”,偶數(shù)就輸出“even”(輸出不含雙引號(hào))。
樣例輸入
13
樣例輸出
odd
C語(yǔ)言版?
#include<stdio.h> // 引入標(biāo)準(zhǔn)輸入輸出庫(kù)int main()
{int n; // 定義一個(gè)整數(shù)變量n,用于存儲(chǔ)用戶(hù)輸入的數(shù)字scanf("%d", &n); // 從標(biāo)準(zhǔn)輸入讀取一個(gè)整數(shù),存儲(chǔ)到變量n中// 判斷n是否為奇數(shù)if(n % 2 != 0) // 使用取模運(yùn)算符%判斷n除以2的余數(shù)是否不為0{printf("odd\n"); // 如果余數(shù)不為0,說(shuō)明n是奇數(shù),輸出"odd"}else{printf("even\n"); // 如果余數(shù)為0,說(shuō)明n是偶數(shù),輸出"even"}return 0; // 程序正常結(jié)束
}
C++版
#include<iostream> // 引入輸入輸出流庫(kù)
using namespace std; // 使用標(biāo)準(zhǔn)命名空間int main()
{int n; // 定義一個(gè)整數(shù)變量n,用于存儲(chǔ)用戶(hù)輸入的數(shù)字cin >> n; // 使用C++的輸入流從標(biāo)準(zhǔn)輸入讀取一個(gè)整數(shù),存儲(chǔ)到變量n中// 判斷n是否為奇數(shù)if (n % 2 != 0) // 使用取模運(yùn)算符%判斷n除以2的余數(shù)是否不為0{cout << "odd" << endl; // 如果余數(shù)不為0,說(shuō)明n是奇數(shù),輸出"odd"}else{cout << "even" << endl; // 如果余數(shù)為0,說(shuō)明n是偶數(shù),輸出"even"}return 0; // 程序正常結(jié)束
}
判斷奇偶性:
使用取模運(yùn)算符
%
判斷n
除以 2 的余數(shù)是否不為 0。如果余數(shù)不為 0,說(shuō)明
n
是奇數(shù),輸出 "odd"。如果余數(shù)為 0,說(shuō)明
n
是偶數(shù),輸出 "even"。
?1019 : 公園門(mén)票
題目描述
某公園門(mén)票的票價(jià)是每人50元,一次購(gòu)票滿(mǎn)30張,每張可以少收2元。試編寫(xiě)自動(dòng)計(jì)費(fèi)系統(tǒng)程序。
輸入
輸入購(gòu)票的張數(shù)。
輸出
輸出一個(gè)整數(shù),為用戶(hù)實(shí)際需要支付的金額。
樣例輸入
30
樣例輸出
1440
?C語(yǔ)言版
#include <stdio.h> // 包含標(biāo)準(zhǔn)輸入輸出庫(kù)
#define price 50 // 定義一個(gè)宏,表示商品的單價(jià),這里單價(jià)為50int main() // 主函數(shù),程序的入口
{int n, sum = 0; // 定義兩個(gè)變量:n表示購(gòu)買(mǎi)的數(shù)量,sum表示總價(jià)格,初始值為0// 從標(biāo)準(zhǔn)輸入讀取一個(gè)整數(shù),存儲(chǔ)到變量n中scanf("%d", &n);// 判斷購(gòu)買(mǎi)數(shù)量n是否小于30if (n < 30){sum = n * price; // 如果n小于30,總價(jià)格為購(gòu)買(mǎi)數(shù)量n乘以單價(jià)price}else{sum = n * (price - 2); // 如果n大于或等于30,總價(jià)格為購(gòu)買(mǎi)數(shù)量n乘以(單價(jià)price減去2)}// 輸出總價(jià)格printf("%d\n", sum);return 0; // 程序正常結(jié)束,返回0
}
C++版?
#include <iostream> // 包含C++標(biāo)準(zhǔn)輸入輸出流庫(kù)
#define price 50 // 定義商品單價(jià)為50
using namespace std; // 使用標(biāo)準(zhǔn)命名空間std,避免每次調(diào)用標(biāo)準(zhǔn)庫(kù)函數(shù)或?qū)ο髸r(shí)都要寫(xiě)std::int main() // 主函數(shù),程序的入口點(diǎn)
{int n, sum = 0; // 定義變量n(用戶(hù)輸入的購(gòu)買(mǎi)數(shù)量)和sum(總價(jià)格,初始值為0)cin >> n; // 從標(biāo)準(zhǔn)輸入讀取用戶(hù)輸入的購(gòu)買(mǎi)數(shù)量nif (n < 30) // 如果購(gòu)買(mǎi)數(shù)量小于30{sum = n * price; // 總價(jià)格為購(gòu)買(mǎi)數(shù)量n乘以單價(jià)price} else // 如果購(gòu)買(mǎi)數(shù)量大于或等于30{sum = n * (price - 2); // 總價(jià)格為購(gòu)買(mǎi)數(shù)量n乘以(單價(jià)price減去2)}cout << sum << endl; // 輸出總價(jià)格,并換行return 0; // 程序正常結(jié)束,返回0
}
1020 : 兩整數(shù)排序
題目描述
從鍵盤(pán)輸入兩個(gè)整數(shù)x,y,按從小到大的順序輸出它們的值。
輸入
輸入兩個(gè)整數(shù)x,y。
輸出
輸入兩個(gè)整數(shù)x,y。
樣例輸入
20 16
樣例輸出
16 20
了解三目運(yùn)算符:簡(jiǎn)要介紹C語(yǔ)言/C++的三目運(yùn)算符-CSDN博客
C語(yǔ)言版
#include <stdio.h> // 包含標(biāo)準(zhǔn)輸入輸出庫(kù),用于支持scanf和printf函數(shù)int main() // 主函數(shù),程序的入口點(diǎn)
{int x, y, max, min; // 定義四個(gè)整數(shù)變量:x和y用于存儲(chǔ)用戶(hù)輸入的兩個(gè)整數(shù),max和min用于存儲(chǔ)最大值和最小值scanf("%d%d", &x, &y); // 從標(biāo)準(zhǔn)輸入讀取兩個(gè)整數(shù),分別存儲(chǔ)到變量x和y中// 使用三元運(yùn)算符計(jì)算最大值max = x > y ? x : y; // 如果x大于y,則max等于x,否則max等于y// 使用三元運(yùn)算符計(jì)算最小值min = x < y ? x : y; // 如果x小于y,則min等于x,否則min等于y// 輸出最小值和最大值,中間用空格分隔printf("%d %d\n", min, max);return 0; // 程序正常結(jié)束,返回0
}
C++ 版?
#include <iostream> // 包含C++標(biāo)準(zhǔn)輸入輸出流庫(kù)
using namespace std; // 使用標(biāo)準(zhǔn)命名空間std,避免每次調(diào)用標(biāo)準(zhǔn)庫(kù)函數(shù)或?qū)ο髸r(shí)都要寫(xiě)std::int main() // 主函數(shù),程序的入口點(diǎn)
{int x, y, max, min; // 定義變量x和y(用戶(hù)輸入的兩個(gè)整數(shù)),以及用于存儲(chǔ)最大值和最小值的變量max和mincin >> x >> y; // 從標(biāo)準(zhǔn)輸入讀取兩個(gè)整數(shù)x和y// 使用三元運(yùn)算符計(jì)算最大值max = x > y ? x : y; // 如果x大于y,則max等于x,否則max等于y// 使用三元運(yùn)算符計(jì)算最小值min = x < y ? x : y; // 如果x小于y,則min等于x,否則min等于y// 輸出最小值和最大值,中間用空格分隔cout << min << " " << max << endl;return 0; // 程序正常結(jié)束,返回0
}
C++補(bǔ)充版(使用min和max函數(shù))?
了解C++中的 max 和 min 函數(shù):簡(jiǎn)要介紹C++中的 max 和 min 函數(shù)以及返回值-CSDN博客
#include<iostream> // 包含標(biāo)準(zhǔn)輸入輸出流庫(kù)
#include<algorithm> // 包含算法庫(kù),用于調(diào)用std::max和std::min函數(shù)
using namespace std; // 使用標(biāo)準(zhǔn)命名空間std,避免每次調(diào)用標(biāo)準(zhǔn)庫(kù)函數(shù)或?qū)ο髸r(shí)都要寫(xiě)std::int main() // 主函數(shù),程序的入口點(diǎn)
{int x, y, max1, min1; // 定義四個(gè)整數(shù)變量:x和y用于存儲(chǔ)用戶(hù)輸入的兩個(gè)整數(shù),max1和min1用于存儲(chǔ)最大值和最小值cin >> x >> y; // 從標(biāo)準(zhǔn)輸入讀取兩個(gè)整數(shù),分別存儲(chǔ)到變量x和y中max1 = max(x, y); // 使用std::max函數(shù)計(jì)算x和y中的最大值,并將結(jié)果存儲(chǔ)到max1中min1 = min(x, y); // 使用std::min函數(shù)計(jì)算x和y中的最小值,并將結(jié)果存儲(chǔ)到min1中cout << min1 << " " << max1 << endl; // 輸出最小值和最大值,中間用空格分隔return 0; // 程序正常結(jié)束,返回0
}