vc++相关程序问题以及其输入字符串相关问题……谢谢了……代码……
(1)
#include <iostream>
using namespace std;
void insert(char* s, char c)
{
char* t = s;
while (*t)
t++;
*t = c;
t++;
*t = 0;
}
int main()
{
char buf[100];
cout << "请输入字符串:";
cin >> buf;
cout << "在" << buf << "最后插入字符s后:" << endl;
insert(buf, 's');
cout << buf << endl;
return 0;
}
(2)
代码:
#include <iostream>
#include <string>
using namespace std;
void insert(char* s, char* s2,int m,int n)
{
int i, j;
int len1 = strlen(s);
int len2 = strlen(s2);
if (n > len2)
n = len2;
//先将s的第m+1个字符后移n位
for (i = len1 - 1; i >= m - 1; i--)
s[i + n] = s[i];
//将s2中的n个字符插入到s中
for (i = 0; i < n; i++)
s[m + i] = s2[i];
s[len1 + n] = 0;//结尾
}
int main()
{
char buf[100],buf2[100];
int m, n;
cout << "请输入字符串1:";
cin >> buf;
cout << "请输入字符串2:";
cin >> buf2;
cout << "请输入m和n:";
cin >> m >> n;
insert(buf, buf2, m, n);
cout << "最后插入字符后:" << endl;
cout << buf << endl;
return 0;
}
你题目的解答代码如下:
#include <iostream>
using namespace std;
int main()
{
char s[100],*p;
cin >> s;
p = s;
while (*p!='\0')
p++;
*p = 's';
p++;
*p = '\0';
cout << s << endl;
return 0;
}
第二个
#include <iostream>
#include <string.h>
using namespace std;
int main()
{
char s[100], e[100];
int m,n,len,len2,i;
cin >> s;
cin >> e;
cin >> m >> n;
len = strlen(s);
len2 = strlen(e);
if (m<0)
m=0;
if (n<0)
n=0;
if (m>len)
m=len;
if (n>len2)
n=len2;
for (i = len; i >= m; i--)
{
s[i+n] = s[i];
}
for (i = 0; i < n; i++)
{
s[i+m] = e[i];
}
cout << s << endl;
return 0;
}
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!如有帮助,请点击我的回答下方的【采纳该答案】按钮帮忙采纳下,谢谢!