问题描述
- 编写程序,输入任意一个含有空格的字符串(至少10个字符),删除指定字符后输出该字符串。
-
编写程序,输入任意一个含有空格的字符串(至少10个字符),删除指定字符后输出该字符串。例如,输入“jiangsu123”和删除位置5,则输出“jiansu123”。
解决方案
#include <iostream>
#include <string>
using namespace std;
int main()
{
char s1[100];
char s2[100];
int n = 0;
cin.getline(s1, 100);
cin.getline(s2, 100);
cin >> n;
int i;
int ls2 = strlen(s2);
for (i = strlen(s1); i >= n; i--)
s1[i + ls2] = s1[i];
for (i = 0; i < ls2; i++)
s1[n + i] = s2[i];
cout << s1 << endl;
return 0;
}
解决方案二:
#include <stdio.h>
#include <string.h>
int main()
{
char c[100];
gets(c);
int n = 0;
scanf("%d", n);
for (int i = n; i < strlen(c) + 1; i++)
c[i] = c[i + 1];
printf("%sn", c);
return 0;
}
解决方案三:
#include <stdio.h>
#include <string.h>
int main()
{
char c[100];
gets(c);
int n = 0;
scanf("%d", &n);
for (int i = n - 1; i < strlen(c) + 1; i++)
c[i] = c[i + 1];
printf("%sn", c);
return 0;
}
解决方案四:
jiangsu123
5
jiansu123
Press any key to continue
解决方案五:
这是把输入输出换成std cin/cout 的写法,但是不存在前面一个写法不是C++,只有这么写才是C++的问题。
而且输入输出并不影响你对程序本身的理解。其实都是一样的。
时间: 2024-12-30 16:45:41