编写一个函数,实现把一个字符串中所有数字字符替换成“*”。在主函数中完成输入与
核心是判断字符是否为数字,如果是就替换为“*”,即:if(s[i]>'0'&&s[i]<'9') { s[i]='*' } 。
整个函数具体代码如下:
#include<stdio.h>
#include<string.h>
void changes(char*s)
{
int i;
for(i=0;i<strlen(s);i++)
{
if(s[i]>'0'&&s[i]<'9')
s[i]='*';
}
}
int main()
{
char s[1000];
gets(s);
changes(s);
putchar(s);
return 0;
}
扩展资料:
判断一个字符是否为数字的两种方法:
1、直接判断
#include <stdio.h>
int main()
{
char c;
c = getchar();//读取一个字符。
if(c >='0' && c<='9')printf("是数字\n");
else if(c >='a' && c<='z' || c >='A' && c<='Z'))
printf("是字母\n");
else
printf("是特殊字符\n");
return 0;
}
2、库函数
int main()
{
char c;
c = getchar();
//来判断是否为数字,如果是数字那么会返回非0
if(isdigit(c) != 0)
printf("是数字\n") ;
//来判断是否为字母,如果是字母那么返回非0
else if(isalpha(c) != 0)
printf("是字母\n");
else
printf("是特殊字符\n");
}
#include<string.h>
void changes(char*s)
{
int i;
for(i=0;i<strlen(s);i++)
{
if(s[i]>'0'&&s[i]<'9')
s[i]='*';
}
}
int main()
{
char s[1000];
gets(s);
changes(s);
putchar(s);
return 0;
}
我没编译过,不过应该是对的