调了半天自闭了,C语言两段代码都是20分
查看原帖
调了半天自闭了,C语言两段代码都是20分
246331
mystic_qwq楼主2023/4/15 20:53

以下是改的两个版本,大佬任选

char c[27][10]={"zero","one","two","three","four","five","six","seven","eight","nine","ten","eleven","twelve","thirteen","fourteen",
"fifteen","sixteen","seventeen","eighteen","nineteen","twenty","a","both","another","first","second","third"},s[30];
out[21]={0,10,20,1,2,3,4,11,18,5,15,6,12,7,16,19,8,13,9,17,14},
d[27]={0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,1,2,1,1,2,3},i,u[21];
lower(char*s){while(*s)*s=tolower(*s),++s;};
_Bool scmp(char*i,char*j){while(*i){if(*i!=*j)return 0;++i,++j;}if(*j)return 0;return 1;}
puti(i){(i*=i,i%=100)&&(i<10?putchar(i+'0'):(putchar(i/10+'0'),putchar(i%10+'0')));}
len(char*s){int len=-1;while(*s)len++,*s++;return len;}
main(){
	while(~(scanf("%s",s))){
	    (s[len(s)]=='.')&&(s[len(s)]=0),lower(s);
	    for(i=0;i<=26;i++)(scmp(s,c[i]))&&(++u[d[i]]);}
	for(i=0;i<=20;++i)while(u[out[i]]--)puti(out[i]);
}
char c[27][10]={"zero","one","two","three","four","five","six","seven","eight","nine","ten","eleven","twelve","thirteen","fourteen",
"fifteen","sixteen","seventeen","eighteen","nineteen","twenty","a","both","another","first","second","third"},s[30],ch;
out[21]={0,10,20,1,2,3,4,11,18,5,15,6,12,7,16,19,8,13,9,17,14},
d[27]={0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,1,2,1,1,2,3},u[21],len=0;
_Bool scmp(char*i,char*j/*引用时i为s,j为c[i],len是s的*/){int k=len;while(k--){if(*j){if(*i!=*j){/*printf("i=%c j=%c ",*i,*j);*/return 0;}}else return 0;/*j长度比i短*/++i,++j;}if(*j)return 0;/*j比i位数长*/return 1;}
puti(i){(i*=i,i%=100)&&(i<10?putchar(i+'0'):(putchar(i/10+'0'),putchar(i%10+'0')));}
main(){
	while(~(ch=getchar())){
		if(isalpha(ch)){
			if(ch>='A'&&ch<='Z')ch+='a'-'A';
			s[len++]=ch;
		}
		else{
			int i;
			for(i=0;i<=26;i++){
				//printf("role:%d ",i);
				if(scmp(s,c[i])){/*printf("s=%s c[i]=%s\n",s,c[i]),*/++u[d[i]];break;}
			}if(ch=='.')break;len=0;
		}
		//printf("s=%s c[13]=%s\n",s,c[13]);Sleep(3000);
	}
	//printf("u[0]=%d\n",u[0]);
	int i;
	for(i=0;i<=20;++i)while(u[out[i]]--)puti(out[i]);
}
2023/4/15 20:53
加载中...