程序设计基础习题及答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
程序设计基础习题及答案
一、简介
程序设计是计算机科学中一门基础课程,它教授学生如何有效地解决问题并以计算机程序的形式实现。为了帮助学习者更好地理解和应用程序设计知识,本文将介绍一些常见的程序设计习题,并提供相应的答案。
二、习题与答案
1. 习题:编写一个程序,计算并输出给定数值n的阶乘。
答案:
#include
using namespace std;
int factorial(int n) {
if (n == 0) {
return 1;
} else {
return n * factorial(n - 1);
}
}
int main() {
int n;
cout << "请输入一个整数n:";
cin >> n;
cout << n << "的阶乘为:" << factorial(n) << endl;
return 0;
}
2. 习题:编写一个程序,判断给定年份是否为闰年。
答案:
#include
using namespace std;
bool isLeapYear(int year) {
if (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0)) { return true;
} else {
return false;
}
}
int main() {
int year;
cout << "请输入一个年份:";
cin >> year;
if (isLeapYear(year)) {
cout << year << "年是闰年。" << endl;
} else {
cout << year << "年不是闰年。" << endl;
}
return 0;
}
3. 习题:编写一个程序,从1开始打印到给定的正整数n,但是对于3的倍数打印“Fizz”,对于5的倍数打印“Buzz”,对于同时是3和5的倍数打印“FizzBuzz”。
答案:
#include
using namespace std;
void fizzBuzz(int n) {
for (int i = 1; i <= n; i++) {
if (i % 3 == 0 && i % 5 == 0) {
cout << "FizzBuzz ";
} else if (i % 3 == 0) {
cout << "Fizz ";
} else if (i % 5 == 0) {
cout << "Buzz ";
} else {
cout << i << " ";
}
}
cout << endl;
}
int main() {
int n;
cout << "请输入一个正整数n:";
cin >> n;
fizzBuzz(n);
return 0;
}
4. 习题:编写一个程序,对给定的整数数组进行冒泡排序。答案:
#include
using namespace std;
void bubbleSort(int arr[], int n) {
for (int i = 0; i < n - 1; i++) {
for (int j = 0; j < n - 1 - i; j++) { if (arr[j] > arr[j + 1]) {
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
}
int main() {
int arr[] = {5, 2, 8, 1, 9};
int n = sizeof(arr) / sizeof(arr[0]); bubbleSort(arr, n);
cout << "冒泡排序结果:";
for (int i = 0; i < n; i++) {
cout << arr[i] << " ";
}
cout << endl;
return 0;
}
5. 习题:编写一个程序,计算并输出给定整数n的斐波那契数列第n项。
答案:
#include
using namespace std;
int fibonacci(int n) {
if (n <= 1) {
return n;
} else {
return fibonacci(n - 1) + fibonacci(n - 2);
}
}
int main() {
int n;
cout << "请输入一个正整数n:";
cin >> n;
cout << "斐波那契数列第" << n << "项为:" << fibonacci(n) << endl;
return 0;
}
三、总结
通过完成上述程序设计习题,我们可以提高自己的程序设计能力,
加深对程序的理解。希望本文提供的习题及答案能够对读者有所帮助,促进他们在程序设计基础方面的学习和提高。
四、参考资料
- 《C++ Primer》
- 《算法导论》