1 条题解
-
0
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
- 上传者