可以给我提供一些c++题目吗
时间: 2023-05-24 11:03:44 浏览: 65
当然可以,以下是一些c语言题目:
1. 编写一个程序,输入两个数,分别输出它们的和、差、积和商。
2. 编写一个程序,用欧几里得算法求两个正整数的最大公约数,同时输出最大公约数和最小公倍数。
3. 编写一个程序,输入一个十进制数,将其转换成八进制数并输出。
4. 编写一个程序,输入一组字符串,将其按字典序从小到大排序并输出。
5. 编写一个程序,输入一个数,判断其是否为完数(即所有因子之和等于该数本身),并输出结果。
6. 编写一个程序,输入一个正整数n,输出斐波那契数列的前n项。
7. 编写一个程序,输入一个字符串,判断其是否为回文串(即正反读都一样),并输出结果。
8. 编写一个程序,输入一个正整数n,输出n的阶乘(即n!),并考虑n较大时的算法复杂度问题。
9. 编写一个程序,输入一个正整数n,输出n以内的所有素数,并考虑算法的效率问题。
10. 编写一个程序,输入两个字符串,判断第一个字符串是否为第二个字符串的子串,并输出结果。
相关问题
可以使用c++给我演示一遍吗
当然可以,下面是使用 C++ 实现题目要求的代码:
```cpp
#include <iostream>
#include <fstream>
#include <cstring>
using namespace std;
struct Course {
char name[20]; // 课程名称
int num; // 选课人数
};
int main() {
// 读取 course.txt 文件
ifstream fin("course.txt");
if (!fin.is_open()) {
cout << "Open file failed." << endl;
return 0;
}
Course courses[5];
int i = 0;
while (fin >> courses[i].name >> courses[i].num) {
i++;
}
fin.close();
// 写入二进制文件 Course2.dat
ofstream fout("Course2.dat", ios::binary);
if (!fout.is_open()) {
cout << "Open file failed." << endl;
return 0;
}
fout.write((char *)courses, sizeof(Course) * 5);
fout.close();
return 0;
}
```
上述代码中,我们使用 C++ 的文件流实现了读取文件和写入二进制文件的功能。具体来说,我们首先打开文件 course.txt,并将其内容读取到 Course 类型的数组 courses 中,然后再打开二进制文件 Course2.dat,并将 courses 数组的内容写入到该文件中。最后,关闭文件,完成任务。
可以使用c++代码编写上述题目吗
当然可以,下面是对应的 C++ 代码:
```cpp
#include <iostream>
using namespace;
const int MAXN = 1e5 5;
int fa[MAXN];
int find(int x) {
if (fa[x] != x) fa[x] = find(fa[x]);
return fa[x];
}
int main() {
int n, m, q;
cin >> n >> m >> q;
for (int i = 1; i <= m; i++) fa[i] = i;
for (int i = 1; i <= n; i++) {
int a;
cin >> a;
fa[find(a)] = find(i);
}
while (q--) {
int x;
cin >> x;
int cnt = 0;
for (int i = 1; i <= n; i++) {
if (find(i) == find(x)) cnt++;
}
cout << cnt << endl;
}
return 0;
}
```
注意在 C++ 中数组下标从 0 开始,而在 Python 中下标从 1 开始,因此在对应的语言中代码略有不同。