由键盘输入任意一个长度不超过30个字符的字符串,要求从该串中删去一字符。
不对,,
正确如下:
for(i=0;a[i]!='\0';i++)
{
if(a[i]==ch)
{
j=i;
while(a[i]!='\0')
{
a[j]=a[++i];
j=i;
}
}
}
a[i]='\0';
(以上代码可以覆盖你的for语句)
你那个第一j没有赋值,,第二不是从你要删除的字符开始向前移动的,,第三要注意j++与++j的区别
#include
int main(void)
{
int i, j = 0;
char ch;
char str[100];
printf("请输入字符串:
");
scanf("%s", str);
printf("请输入一个字符:
");
scanf(" %c", &ch);
for (i=0; str[i]!='\0'; i++)
{
if (str[i] != ch)
{
str[j++] = str[i];
}
}
str[j] = '\0';
printf("%s
", str);
return 0;
}
#include<stdio.h>
int main()
{
char s[31],ch;
int i,j;
scanf("%s%*c%ch",s,&ch);
for(i=j=0;s[i]!=0;++i)
if(s[i]!=ch) s[j++]=s[i];
s[j]=0;
printf("%s",s);
}
Python的例子
def delchr(strings, s):
return ''.join([ x for x in strings if x != s ])
print(delchr('abcidefghi','i'))
由键盘输入任意一个长度不超过30个字符的字符串,要求从该串中删去一字 ...
include<stdio.h> int main(){ char s[31],ch;int i,j;scanf("%s%*c%ch",s,&ch);for(i=j=0;s[i]!=0;++i)if(s[i]!=ch) s[j++]=s[i];s[j]=0;printf("%s",s);}
从键盘上输入一个字符串,假定该字符串的长度不超过30,试统计出该串中...
include <stdio.h> int main(){ char c;int cnt;for(cnt=0;(c=getchar())!='\\n';)if(c>='0'&&c<='9')cnt++;printf("%d\\n",cnt);return 0;}
编写一个程序,输入一个字符串(其长度不超过30),要求删除其中的空格后输...
Private Sub Command1_Click()Dim strTmp As String Dim MyInput As Integer Dim MyOutput strTmp = InputBox("请输入一个十进制数字:", "", "")If strTmp = "" Then Exit Sub If IsNumeric(strTmp) = False Then MsgBox "输入的不是数字", vbExclamation Exit Sub End If MyInput = Int...
键盘输入一组字符串为什么不能超过255个
长度默认一个字节表示,即0~255个。
汇编语言 从键盘输入长度小于30的字符串 分别统计字母 数字个数
mov cx,0 ;小写字母计数器 nextc:mov ah,1 ;设功能号,接收键盘字符,回显 int 21h ;dos中断 cmp al,13h ;识别回车,有就退出 je done cmp al,'a'jb nextc cmp al,'z'ja nextc inc cx ;找到一个小写字母 jmp nextc done:;以下显示CX的数值 STD mov bx,10 ;十进制 mov di,...
从键盘键入一个不超过40个字符的字符串,再输入一个整数,删除对应整数...
先定义一个长度41的文本型数组(最后的是\\0)char str1 [41];然后读入一个字符串 scanf ("%s", str1);然后逐字排查:int i, n;char str2 [41];for (i = n = 0; i < 40; i++, n++){ if (str [i] == 48) \/\/ 设你要删除的字符代码为48,也就是'0'{n-=2;i--;} e...
从键盘输入10个字符串,每个字符串长度不超过20个字符,再输 入一个字符...
include<string.h> int search(char s[][21],char s1[]){int i;for(i=0;i<10;i++)if(strcmp(s[i],s1)==0)break;return i<10?i+1:-1;} int main(){ char s[10][21],s1[21];int i;for(i=0; i<10; i++)scanf("%s",s[i]);scanf("%s",s1);printf("%d",search...
从键盘输入一串字符(长度小于50个字符)
include<stdio.h> include<string.h> int main(){ int i,j;char str[50];printf("str:");scanf("%s",str);for(i=0;i<strlen(str);){ if(str[i++]=='X')break; \/\/退出时,i是x的下标的下一个下标 } if(i!=strlen(str))for(j=strlen(str);j>=0;j--){ if(str[j]==...
为什么在输入密码时提示输入1-20位除空格外的键盘可输入字符?
提示输入1-20位除空格外的键盘可输入字符的要求可能是为了强化密码的安全性。这种要求通常是由密码策略或安全标准所规定的,旨在确保密码足够复杂和难以猜测。以下是一些可能的原因:1. 避免弱密码:要求密码至少1-20位字符的长度限制是为了防止用户设置过于简单或容易被猜测的密码,因为较短的密码更容易被...
从键盘输入一个长度不超过50的字符串,从中找出字母和数字,并输出两_百 ...
include <iostream>#include "stdio.h"#include "string.h"using namespace std;void FindCharAndNumber(){char str[100];cout << "请输入一个字符串,不超过50个字符" << endl;\/\/scanf("%s", str);cin >> str;char char_str[50], num_str[50];int char_idx=0, num_idx=0;for (...