题解 | #表示数字#
表示数字
https://www.nowcoder.com/practice/637062df51674de8ba464e792d1a0ac6
#include <stdio.h>
#include <string.h>
//插入函数
void add(char* str, char ch, int pos) {
int len = strlen(str);
len = len > pos ? len : pos;
memmove(str + pos + 1, str + pos, len - pos + 1);
str[pos] = ch;
}
int main() {
char str[100];
char ch = '*';
scanf("%s", str);
for (int i = 0; i < strlen(str); i++) {
if ((str[i] >= '0' && str[i] <= '9')) {
if (i == 0) {
add(str, ch, 0);
i++;
} else if (!(str[i - 1] >= '0' && str[i - 1] <= '9')) {
add(str, ch, i);
i++;
}
}
}
for (int i = 0; i < strlen(str); i++) {
if ((str[i] >= '0' && str[i] <= '9')) {
if (!(str[i + 1] >= '0' && str[i + 1] <= '9')) {
add(str, ch, i + 1);
i++;
}
}
}
printf("%s", str);
return 0;
}
查看13道真题和解析