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

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

Posted by 1010321112 at 2011-09-07 00:59:00 on Problem 2121
之前错了几次,后来加上(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;
}

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