题解 | 表示数字
表示数字
https://www.nowcoder.com/practice/637062df51674de8ba464e792d1a0ac6
#include <stdio.h>
#include <ctype.h>
#include <string.h>
int __is_digit(char c);
int main()
{
char str[100] = {'\0'};
gets(str);
int len = strlen(str);
int i= 0;
int start_flag =0;
while(str[i]!='\0')
{
if(isdigit(str[i])&&i==0)
{
printf("*");
// i++;
// continue;
}
if(isdigit(str[i])&&i==len-1)
{
printf("%c*",str[i]);
break;
}
if (__is_digit(str[i])&&!__is_digit(str[i+1])&&i+1<len)
{
printf("%c*",str[i]);
i++;
continue;
}
if (!__is_digit(str[i])&&__is_digit(str[i+1])&&i+1<len)
{
printf("%c*",str[i]);
i++;
continue;
}
{
printf("%c",str[i]);
}
i++;
}
// if(start_flag)
// {
// printf("*");
// }
return 0;
}
int __is_digit(char c){
if(c>='0'&&c<='9')
return 1;
else
return 0;
}
查看20道真题和解析
