C语言实验——保留整数
Time Limit: 1000MS Memory Limit: 65536KB
Problem Description
输入一个字符串str1,把其中的连续非数字的字符子串换成一个‘*’,存入字符数组str2 中,所有数字字符也必须依次存入 str2 中。输出str2。
Input
输入为一行字符串str1,其中可能包含空格。字符串长度不超过80个字符。
Output
输出处理好的字符串str2。
Example Input
$Ts!47&*s456 a23* +B9k
Example Output
*47*456*23*9*
Hint
Author
参考代码
#include<stdio.h>
#include<string.h>
int main()
{
char str1[100];
char str2[100];
gets(str1);
int n=strlen(str1);
int i;
int m=0;
if(str1[0]>='0'&&str1[0]<='9')
{
str2[m++]=str1[0];
}
else
{
str2[m++]='*';
}
for(i=1; i<n; i++)
{
if(str1[i]>='0'&&str1[i]<='9')
{
str2[m++]=str1[i];
}
else
{
if(str2[m-1]!='*')
{
str2[m++]='*';
}
}
}
for(i=0;i<m;i++)
{
printf("%c",str2[i]);
}
printf("\n");
return 0;
}
本文介绍了一个C语言实验,该实验旨在从输入的字符串中提取所有数字,并将非数字字符替换为星号(*),最终输出处理后的字符串。示例输入如'$Ts!47&*s456a23*+B9k',输出结果为'*47*456*23*9*'。

被折叠的 条评论
为什么被折叠?



