c++ 用数组方法做输入串长小于20的任意字符串和指定字符,删除其中指定字符?(不用指针能做吗)
#include <stdio.h>
int main() {
char ch,s[81],*p,*q;
int i;
p = s;
printf("请输入字符串 : ");
gets(s);
printf("请输入要删除的字符 : ");
fflush(stdin);
scanf("%c",&ch);
while(*p) {
if(*p == ch) {
q = p;
while(*q = *(q + 1)) ++q;
--p;
}
++p;
}
printf("%s\n",s);
return 0;
}
#include <stdio.h>
#include <string>
int main(){
char arrs[20];
scanf("%s",&arrs);
scanf("%c",&k);
for(int i=k;i<strlen(arrs);i++)
{
char temp = arrs[i];
arrs[i]= arrs[i+1];
arrs[i+1]= temp;
}
}
删的是数组的第4个位置
#include <stdio.h>
#include <string>
#pragma warning(disable:4996)
int main() {
int k = 0;
char arrs[20];
scanf("%s", &arrs);
scanf("%d", &k);
for (int i = k; i < strlen(arrs); i++)
{
char temp = arrs[i];
arrs[i] = arrs[i + 1];
arrs[i + 1] = temp;
}
arrs[strlen(arrs)] = 0;
printf("%s", arrs);
}
#include <string>
int main()
{
char ch;
int i,j, n;
scanf("%c", &ch);
char a[20] = { 0 };
scanf("%s", a);
n = strlen(a);
for (i = 0; i < n; i++)
{
if (ch == a[i])
{
for (j = i + 1; j < n; j++)
{
a[j - 1] = a[j];
}
a[j-1] = 0;
n--;
}
}
printf("结果是:%s\n", a);
return 0;
}
您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~
如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~
ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632
输入串长小于20的任意字符串和指定字符,删除其中的指定字符