输入一个字符串,删除其中的数字字符
发布网友
发布时间:2022-05-13 14:55
我来回答
共5个回答
热心网友
时间:2023-10-13 07:54
#include<stdio.h>
#include<stdlib.h>
int
main()
{
char
string[20];
int
counter
=
0;
printf("输入字符串:");
gets(string);
for(int
k=0;k<20;++k)
{
if(string[k]>=48
&&
string[k]<=57)
{
counter++;
}
}
printf("数字个数:%d",counter);
system("pause");
}
热心网友
时间:2023-10-13 07:54
楼上的会把ASC2码中数字之前的字符也删掉了,比如+-*/!#等等
#include
<stdio.h>
void
main()
{char
str[20],str2[20];
int
i,j=0;
printf("输入字符串:\n");
gets(str);
for(i=0;str[i]!='\0';i++)
if(str[i]>57||str[i]<48)str2[j++]=str[i];
str2[j]='\0';
printf("\n删除数字后的字符串:\n");
puts(str2);
}
热心网友
时间:2023-10-13 07:55
楼上的会把ASC2码中数字之前的字符也删掉了,比如+-*/!#等等
#include
void
main()
{char
str[20],str2[20];
int
i,j=0;
printf("输入字符串:\n");
gets(str);
for(i=0;str[i]!='\0';i++)
if(str[i]>57||str[i]<48)str2[j++]=str[i];
str2[j]='\0';
printf("\n删除数字后的字符串:\n");
puts(str2);
}
热心网友
时间:2023-10-13 07:55
#include <stdio.h>
void main()
{ int i=0,j=0;
char s[20],b[20];
gets(s);
while(s[i]!='\0')
{
if( s[i]<'0'||s[i]>'9')
b[j++]=s[i];
i++;
}
puts(b);
}
热心网友
时间:2023-10-13 07:56
#include <iostream>
#include <cstring>
#include <cctype>
int main()
{
char instr[80] = {'\0'};
char outstr[80] = {'\0'};
int len = 0;
std::cout << "please input a string:";
std::cin.getline(instr,80);
len=strlen(instr);
for (size_t i=0,j=0; i<len; ++i)
{
if (!isdigit(instr[i]))
{
outstr[j] = instr[i];
++j;
}
}
std::cout << outstr << std::endl;
system("pause");
}