社区讨论

求助,为什么会TE啊,我自己样例都能过

P2108学英语参与者 3已保存回复 2

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
2 条
当前快照
1 份
快照标识符
@loba1jgm
此快照首次捕获于
2023/10/29 17:36
2 年前
此快照最后确认于
2023/11/03 23:34
2 年前
查看原帖
#include<string.h>
#include<math.h>


int main(){
	char a[30][10]={'\0'};
	int N=1;
	int num1=0,num2=0,num3=0,*p;
	int e2=-1,e3=-1,e6=-1;
	scanf("%s",a[0]);

	while(getchar()!='\n'){
		scanf("%s",a[N++]);
	}
	for(int i=0;i<N;i++){
		if(strcmp(a[i],"million")==0)e6=i;
		if(strcmp(a[i],"thousand")==0)e3=i;
		if(strcmp(a[i],"hundred")==0&&i>e3)e2=i;
	}
	for(int n=0;n<N;n++){
		if(n<=e6&&e6>0){
			p=&num1;
		}
		if(n>e6&&n<=e3&&e3>0&&e6>0){
			p=&num2;		
		}
		if((n>e3&&e3>0)||n>e6){
			p=&num3;	
		}
		if(n>e2&&n>e3&&n>e6){
			p=&num3;
		}
			if(strcmp(a[n],"negative")==0)printf("-");
			if(strcmp(a[n],"one")==0)*p+=1;
			if(strcmp(a[n],"two")==0)*p+=2;
			if(strcmp(a[n],"there")==0)*p+=3;
			if(strcmp(a[n],"four")==0)*p+=4;
			if(strcmp(a[n],"five")==0)*p+=5;
			if(strcmp(a[n],"six")==0)*p+=6;
			if(strcmp(a[n],"seven")==0)*p+=7;
			if(strcmp(a[n],"eight")==0)*p+=8;
			if(strcmp(a[n],"nine")==0)*p+=9;
			if(strcmp(a[n],"ten")==0)*p+=10;
			if(strcmp(a[n],"eleven")==0)*p+=11;
			if(strcmp(a[n],"twelve")==0)*p+=12;
			if(strcmp(a[n],"thirteen")==0)*p+=13;
			if(strcmp(a[n],"fourteen")==0)*p+=14;
			if(strcmp(a[n],"fifteen")==0)*p+=15;
			if(strcmp(a[n],"sixteen")==0)*p+=16;
			if(strcmp(a[n],"seventeen")==0)*p+=17;
			if(strcmp(a[n],"eighteen")==0)*p+=18;
			if(strcmp(a[n],"nineteen")==0)*p+=19;
			if(strcmp(a[n],"twenty")==0)*p+=20;
			if(strcmp(a[n+1],"hundred")==0)*p*=100;
			if(strcmp(a[n],"thousand")==0)*p*=1000;
			if(strcmp(a[n],"million")==0)*p*=1000000;			
	}
	
	printf("%d",num1+num2+num3);
	
	return 0;
}

回复

2 条回复,欢迎继续交流。

正在加载回复...