#include<stdio.h>#include<string.h>void delete_n(char *str, int n){ int i; if(n < 0) n = 0; if(n > strlen(str)) n = strlen(str); for(i = 0; str[n]; i++, n++) { str[i] = str[n]; } str[i] = '\0';}int main() { char str[255]; int n; scanf("%s %d", str, &n); delete_n(str, n); printf("%s\n", str); return 0;}
在C++中,有多种方法可以输入一个字符串和一个整数,例如使用cin、cin.get ()、cin.getline ()、getline ()等函数。为了简单起见,我选择使用cin和getline ()函数来输入一个字符串和一个整数。要实现将字符串中前n个字符删除后输出的功能,我可以定义一个函数delete_n_chars (string s, int n),它接受一个字符串s和一个整数n作为参数,并返回删除前n个字符后的新字符串。函数的具体实现如下:#include <iostream>#include <string>using namespace std;//定义函数delete_n_charsstring delete_n_chars(string s, int n) { //如果n小于等于0或者大于等于s的长度,则直接返回原字符串if (n <= 0 || n >= s.length()) { return s;} //否则,使用substr()函数从第n+1个字符开始截取子串,并返回else { return s.substr(n);}}int main() { //声明变量string str; //用来存储输入的字符串int num; //用来存储输入的整数//提示用户输入cout << "请输入一个字符串:" << endl; getline(cin, str); //使用getline()函数获取一行输入cout << "请输入一个整数:" << endl;cin >> num; //使用cin获取一个整数//调用函数delete_n_chars并输出结果cout << "删除前" << num << "个字符后的新字符串为:" << endl;cout << delete_n_chars(str, num) << endl; return 0;}以下是运行示例:请输入一个字符串:Hello World!请输入一个整数:5删除前5个字符后的新字符串为:World!