1 条题解

  • 0
    @ 2025-10-10 15:45:27

    C :

    #include<stdio.h>
    #include<string.h>
    int main()
    {
    	char a[80],b[80];
    	int x,i=0,j=0;
    	gets(a);
    	x=strlen(a);
    	if(a[i]>=48&&a[i]<=57)
    	{
    		b[j]=a[i];
    		j++;
    	}
    
    	else
    	{
    		b[j]='*';
    		j++;
    	}
    i=1;
    	while(i<=(x-1))
    	{
    		if(a[i]>=48&&a[i]<=57)
    		{
    			b[j]=a[i];
    			j++;
    		}
    		else if(b[j-1]!='*')
    		{
    			b[j]='*';
    			j++;
    		}
    		i++;
    
    	}
    	b[j]='\0';
    	puts(b);
    }
    

    C++ :

    #include <iostream>
    #include <cstring>
    using namespace std;
    
    int main(){
    	//$Ts!47&*s456  a23* +B9
    	/*
    	  第一步能够输出:
    	  $Ts!
    	  47
    	  &*s
    	  456
    	    a
    	  23
    	  * +B
    	  9
    	*/ 
    	char s[2000];
    	gets(s);
    	char w[2000];
    	char f[2000];
    	char r[2000] = {'\0'};
    	int i,k = 0,j = 0;
    	for (i = 0;i < strlen(s);i++){
    		if (s[i] >= '0' && s[i] <= '9'){
    			w[k] = s[i];
    			k++;
    			if (i + 1 == strlen(s) || (s[i + 1] < '0' || s[i + 1] > '9')){
    				w[k] = '\0';
    				//cout<<w<<endl;
    				strcat(r,w);
    				k = 0;
    			}
    		}else{
    			f[j] = s[i];
    			j++;
    			if (i + 1 == strlen(s) || (s[i + 1] >= '0' && s[i + 1] <= '9')){
    				f[j] = '\0';
    				//cout<<f<<endl;
    				strcat(r,"*");
    				j = 0;
    			}
    		}
    	}
    	cout<<r;
    }
    

    Java :

    import java.util.Scanner;
    public class Main{
    	public static void main(String[] args) {
    		String str=new Scanner(System.in).nextLine();
    		char[] charArray=str.toCharArray();
    		char[] new_charArray=new char[charArray.length];
    		for(int i=0;i<charArray.length;i++){
    			if((int)charArray[i]>57||(int)charArray[i]<48){
    				charArray[i]='*';
    			}
    		}	
    		String newStr=String.valueOf(charArray);
    		System.out.println(newStr.replace("*", " ").replaceAll(" +", "*"));
    	}
    }
    

    Python :

    str1=input()
    str2 = ""
    f = True   # True 表示没有打印*
    for i in range(0,len(str1)):        
        if not str1[i].isdigit():   #判断字符串里的字符是否为数字
           if f:                    #如果不是数字切没有打印过* 那么在str2字符串中新增*
             str2 += "*"
             f = False
        else:                       #如果是数字  直接添加进str2
           str2 += str1[i]
           f = True
    print(str2)
    
    • 1

    信息

    ID
    127
    时间
    1000ms
    内存
    512MiB
    难度
    (无)
    标签
    递交数
    0
    已通过
    0
    上传者