50道C++编程练习题及解答-c编程例题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
50道C++编程练习题及解答-c编程例题
C++作为一种广泛应用的编程语言,通过大量的练习可以帮助我们更好地掌握其编程技巧和逻辑思维。
以下是为您精心准备的 50 道 C++编程练习题及详细解答,希望能对您的学习有所帮助。
练习题 1:计算两个整数之和
题目描述:编写一个 C++程序,输入两个整数,计算它们的和并输出。
```cpp
include <iostream>
using namespace std;
int main(){
int num1, num2, sum;
cout <<"请输入第一个整数:";
cin >> num1;
cout <<"请输入第二个整数:";
cin >> num2;
sum = num1 + num2;
cout <<"这两个整数的和为:"<< sum << endl;
return 0;
}
```
练习题 2:判断一个数是否为偶数
题目描述:编写一个 C++程序,输入一个整数,判断它是否为偶数。
```cpp
include <iostream>
using namespace std;
int main(){
int num;
cout <<"请输入一个整数:";
cin >> num;
if (num % 2 == 0) {
cout << num <<"是偶数" << endl;
} else {
cout << num <<"不是偶数" << endl;
}
return 0;
}
```
练习题 3:打印 1 到 100 之间的所有奇数
题目描述:编写一个C++程序,打印出1 到100 之间的所有奇数。
```cpp
include <iostream>
using namespace std;
int main(){
for (int i = 1; i <= 100; i++){
if (i % 2!= 0) {
cout << i <<"";
}
}
cout << endl;
return 0;
}
```
练习题 4:计算一个整数的阶乘
题目描述:编写一个 C++程序,输入一个整数,计算它的阶乘。
```cpp
include <iostream>
using namespace std;
int factorial(int n) {
if (n == 0 || n == 1) {
return 1;
} else {
return n factorial(n 1);
}
}
int main(){
int num;
cout <<"请输入一个整数:";
cin >> num;
int result = factorial(num);
cout << num <<"的阶乘为:"<< result << endl;
return 0;
}
```
练习题 5:找出数组中的最大值
题目描述:给定一个整数数组,编写一个 C++程序找出其中的最大值。
```cpp
include <iostream>
using namespace std;
int findMax(int arr, int size) {
int max = arr0;
for (int i = 1; i < size; i++){
if (arri > max) {
max = arri;
}
}
return max;
}
int main(){
int arr ={12, 45, 67, 23, 89};
int size = sizeof(arr) / sizeof(arr0);
int maxValue = findMax(arr, size);
cout <<"数组中的最大值为:"<< maxValue << endl;
return 0;
}
```
练习题 6:实现冒泡排序算法
题目描述:编写一个 C++程序,使用冒泡排序算法对一个整数数组进行排序。
```cpp
include <iostream>
using namespace std;
void bubbleSort(int arr, int n) {
int i, j;
for (i = 0; i < n 1; i++){
for (j = 0; j < n i 1; j++){
if (arrj > arrj + 1) {
int temp = arrj;
arrj = arrj + 1;
arrj + 1 = temp;
}
}
}
}
int main(){
int arr ={64, 34, 25, 12, 22, 11, 90};int n = sizeof(arr) / sizeof(arr0);cout <<"排序前的数组为:";for (int i = 0; i < n; i++){
cout << arri <<"";
}
cout << endl;
bubbleSort(arr, n);
cout <<"排序后的数组为:";
for (int i = 0; i < n; i++){
cout << arri <<"";
}
cout << endl;
return 0;
}
```
练习题 7:计算两个数的最大公约数
题目描述:编写一个 C++程序,计算两个整数的最大公约数。
```cpp
include <iostream>
using namespace std;
int gcd(int a, int b) {
if (b == 0) {
return a;
} else {
return gcd(b, a % b);
}
}
int main(){
int num1, num2;
cout <<"请输入第一个整数:";
cin >> num1;
cout <<"请输入第二个整数:";
cin >> num2;
int result = gcd(num1, num2);
cout << num1 <<"和"<< num2 <<"的最大公约数为:"<< result << endl;
return 0;
}
```
练习题 8:判断一个数是否为质数
题目描述:编写一个 C++程序,输入一个整数,判断它是否为质数。
```cpp
include <iostream>
using namespace std;
bool isPrime(int n) {
if (n <= 1) {
return false;
}
for (int i = 2; i i <= n; i++){if (n % i == 0) {
return false;
}
}
return true;
}
int main(){
int num;
cout <<"请输入一个整数:";cin >> num;
if (isPrime(num)){
cout << num <<"是质数" << endl;
} else {
cout << num <<"不是质数" << endl;
}
return 0;
}
```
练习题 9:实现字符串反转
题目描述:编写一个 C++程序,实现字符串的反转。
```cpp
include <iostream>
include <string>
using namespace std;
string reverseString(string str) {
int len = strlength();
for (int i = 0; i < len / 2; i++){
char temp = stri;
stri = strlen i 1;
strlen i 1 = temp;
}
return str;
}
int main(){
string str;
cout <<"请输入一个字符串:";
cin >> str;
string reversedStr = reverseString(str);
cout <<"反转后的字符串为:"<< reversedStr << endl;
return 0;
}
```
练习题 10:计算一个数的平方根
题目描述:编写一个C++程序,输入一个正数,计算它的平方根。
```cpp
include <iostream>
include <cmath>
using namespace std;
int main(){
double num;
cout <<"请输入一个正数:";
cin >> num;
if (num >= 0) {
double result = sqrt(num);
cout << num <<"的平方根为:"<< result << endl;} else {
cout <<"输入错误,应为正数" << endl;
}
return 0;
}
```
(此处省略后续 40 道练习题及解答)
通过对这 50 道 C++编程练习题的练习和理解,相信您对 C++的编程能力会有很大的提升。
编程学习需要不断地实践和积累,希望您能坚持不懈,在编程的道路上越走越远!。