C语言实验——保留整数

xiaoxiao2022-06-12  21

Problem Description 输入一个字符串str1,把其中的连续非数字的字符子串换成一个‘’,存入字符数组str2 中,所有数字字符也必须依次存入 str2 中。输出str2。 Input 输入为一行字符串str1,其中可能包含空格。字符串长度不超过80个字符。 Output 输出处理好的字符串str2。 Sample Input $Ts!47&s456 a23 +B9k Sample Output 47456239

代码:

#include <stdio.h> #include <string.h> int main() { char str[100]; char strstr[100]; //scanf("%s",str); gets(str); int n=strlen(str); int i; int m=0; if(str[0]>='0' && str[0]<='9') strstr[m++]=str[0]; else strstr[m++]='*'; for(i=1;i<n;i++) { if(str[i]>='0' && str[i]<='9') { strstr[m++]=str[i]; } else { if(strstr[m-1]!='*') { strstr[m++]='*'; } } } for(i=0;i<m;i++) { printf("%c",strstr[i]); } printf("\n"); return 0; }

思路:定义一个空的数组作为结果,然后让满足的条件的进入这个数组,第一个元素单独判别,剩下的用循环如果满足数字,就把数字插进新的数组, 如果不满足就看一下前面的是不是如果是的话 就不用管了 如果不是的话就加上 最后输出新的数组

转载请注明原文地址: https://www.6miu.com/read-4932598.html

最新回复(0)