2019BJFU C++实验习题(完结)
时间: 2023-08-06 15:07:00 浏览: 140
很好,我了解了你的问题。以下是2019BJFU C++实验习题的题目和解答:
1. 编写一个程序,输入一个整数n,输出n的阶乘。
代码实现:
```c++
#include <iostream>
using namespace std;
int main()
{
int n;
cin >> n;
int result = 1;
for (int i = 1; i <= n; i++)
{
result *= i;
}
cout << result << endl;
return 0;
}
```
2. 编写一个程序,输入一个字符串,将其中的小写字母全部转换成大写字母,并输出转换后的字符串。
代码实现:
```c++
#include <iostream>
#include <cstring>
using namespace std;
int main()
{
char str[100];
cin.getline(str, 100);
int len = strlen(str);
for (int i = 0; i < len; i++)
{
if (str[i] >= 'a' && str[i] <= 'z')
{
str[i] = str[i] - 'a' + 'A';
}
}
cout << str << endl;
return 0;
}
```
3. 编写一个程序,输入一个字符串,将其中的所有数字字符相加,并输出和。
代码实现:
```c++
#include <iostream>
#include <cstring>
using namespace std;
int main()
{
char str[100];
cin.getline(str, 100);
int len = strlen(str);
int sum = 0;
for (int i = 0; i < len; i++)
{
if (str[i] >= '0' && str[i] <= '9')
{
sum += str[i] - '0';
}
}
cout << sum << endl;
return 0;
}
```
4. 编写一个程序,输入一个整数n,输出所有小于n的正整数中,能被3或5整除的数的和。
代码实现:
```c++
#include <iostream>
using namespace std;
int main()
{
int n;
cin >> n;
int sum = 0;
for (int i = 1; i < n; i++)
{
if (i % 3 == 0 || i % 5 == 0)
{
sum += i;
}
}
cout << sum << endl;
return 0;
}
```
5. 编写一个程序,输入一个字符串,判断它是否为回文字符串,即正读和反读都一样(例如,"abcba"就是回文字符串)。
代码实现:
```c++
#include <iostream>
#include <cstring>
using namespace std;
int main()
{
char str[100];
cin.getline(str, 100);
int len = strlen(str);
bool isPalindrome = true;
for (int i = 0; i < len / 2; i++)
{
if (str[i] != str[len - i - 1])
{
isPalindrome = false;
break;
}
}
if (isPalindrome)
{
cout << "Yes" << endl;
}
else
{
cout << "No" << endl;
}
return 0;
}
```
希望这些代码能够帮助你解决问题。如果你还有其他问题,请随时问我。
阅读全文