Online JudgeProblem SetAuthorsOnline ContestsUser
Web Board
Home Page
F.A.Qs
Statistical Charts
Problems
Submit Problem
Online Status
Prob.ID:
Register
Update your info
Authors ranklist
Current Contest
Past Contests
Scheduled Contests
Award Contest
User ID:
Password:
  Register

Re:咱也来贴一个短代码啦 \(^o^)/~

Posted by acacac1 at 2012-07-05 18:58:10 on Problem 2121
In Reply To:咱也来贴一个短代码啦 \(^o^)/~ Posted by:1010321112 at 2011-09-07 00:59:00
> 之前错了几次,后来加上(LEN=strlen(w))!=0就AC了,不容易啊
> 
> Source Code
> 
> Problem: 2121  User: 1010321112 
> Memory: 172K  Time: 16MS 
> Language: C++  Result: Accepted 
> 
> Source Code 
> #include<iostream>
> using namespace std;
> #include<string.h>
> int main()
> {
> 	int a[3],LEN,len,m,i,k;
> 	long sum;
> 	char w[300],s[10];
> 	char word[28][10]={"zero","one","two","three","four","five","six","seven"
> 		,"eight","nine","ten","eleven","twelve","thirteen","fourteen"
> 		,"fifteen","sixteen","seventeen","eighteen","nineteen","twenty"
> 		,"thirty","forty","fifty","sixty","seventy","eighty","ninety"};
> 	int num[28]={0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16
> 				,17,18,19,20,30,40,50,60,70,80,90};
> 	while(gets(w),(LEN=strlen(w))!=0)
> 	{
> 		sum=m=0;
> 		a[0]=a[1]=a[2]=0;
> 		sscanf(w,"%s",s);
> 		while(1)
> 		{
> 			if(!strcmp(s,"negative"))
> 				putchar('-');
> 			else if(!strcmp(s,"million"))
> 				a[m++]*=1000000;
> 			else if(!strcmp(s,"thousand"))
> 				a[m++]*=1000;
> 			else if(!strcmp(s,"hundred"))
> 				a[m]*=100;
> 			else
> 				for(i=0;i<28;i++)
> 					if(!strcmp(s,word[i]))
> 					{ a[m]+=num[i]; break; }
> 			len=strlen(s);
> 			sum+=len+1;
> 			sscanf(w,"%*s%s",s);
> 			if(sum>=LEN)	break;
> 			w[sum-1]='A';	///将空格变为字母
> 		}
> 		sum=a[0]+a[1]+a[2];
> 		printf("%d\n",sum);
> 	}
> 	return 0;
> }


这个怎么会对,one thousand one million应该是1001000000才对呀,可是跑出来不是,,,

Followed by:

Post your reply here:
User ID:
Password:
Title:

Content:

Home Page   Go Back  To top


All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator