c++由键盘输入20个纯数字字符串,求20个数字之和
时间: 2024-02-12 15:07:31 浏览: 61
好的,下面是C++代码实现:
```c++
#include <iostream>
#include <string> //头文件string用于字符串操作
using namespace std;
int main() {
// 定义一个变量用于存储数字之和
int sum = 0;
string num_str; // 定义一个字符串变量用于存储输入的数字字符串
// 循环输入数字字符串,并将其转换为整型并累加到sum中
for (int i = 1; i <= 20; i++) {
cout << "请输入第" << i << "个数字字符串:";
cin >> num_str; // 读入数字字符串
int num = stoi(num_str); // 将字符串转换为整型
sum += num;
}
// 输出数字之和
cout << "20个数字之和为:" << sum << endl;
return 0;
}
```
你可以将这段代码复制到C++编译器中运行,然后输入20个数字字符串即可得到数字之和。
相关问题
用C++编写函数void delDigit(char* p)删除一个字符串中的所有数字字符。在主函数中,从键盘输入一个字符串(有可能带空格),然后调用delDigit函数删除该字符串中的数字字符,将从键盘输入的字符串以及处理后的字符串写入文件result.txt。文件的第一行为原字符串,第二行为处理后的字符串。(假定从键盘输入的字符串不超过80个字符) 要求:不得使用字符串处理系统函数以及字符处理系统函数。
实现这个函数可以使用两个指针,一个指向原字符串,一个指向处理后的字符串。遍历原字符串,如果遇到数字字符,则跳过;否则将该字符复制到处理后的字符串中。最后,将处理后的字符串写入文件。
下面是实现代码:
```c++
#include <iostream>
#include <fstream>
using namespace std;
void delDigit(char* p) {
char* q = p;
while (*p != '\0') {
if (*p >= '0' && *p <= '9') {
p++;
} else {
*q = *p;
p++;
q++;
}
}
*q = '\0';
}
int main() {
char str[81];
cout << "请输入一个字符串:";
cin.getline(str, 81);
delDigit(str);
ofstream fout("result.txt");
fout << "原字符串:" << str << endl;
fout << "处理后的字符串:" << str << endl;
fout.close();
cout << "处理后的字符串已写入文件result.txt" << endl;
return 0;
}
```
注意,这个程序还需要头文件 `fstream` 来进行文件操作。
在c++中,从键盘上输入一个包含数字和其他字符的字符串,然后顺序输出其中的数字字符。
可以使用循环遍历字符串中的每一个字符,判断是否为数字字符,如果是则输出。
以下是一个示例代码:
```c++
#include <iostream>
#include <string>
using namespace std;
int main() {
string str;
cout << "请输入一个包含数字和其他字符的字符串:" << endl;
getline(cin, str); // 从键盘读入一行字符串
cout << "其中的数字字符为:";
for (int i = 0; i < str.length(); i++) {
if (isdigit(str[i])) { // 判断是否为数字字符
cout << str[i];
}
}
cout << endl;
return 0;
}
```
输入示例:
```
请输入一个包含数字和其他字符的字符串:
abc12def3g45hij6kl
```
输出示例:
```
其中的数字字符为:123456
```
阅读全文