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

那位帮忙看看为什么wrong answer,sample数据都没错啊。多谢了!!我是头一次来,请多关照

Posted by whitebob at 2003-11-16 14:25:25 on Problem 1001
#include<stdio.h>
#include <string.h>
int main(int argc,char ** argv)
{
char a[6],r[5], result[125],temp[5][125];
int n,m,d,i,j,k,l,sum;

scanf("%c%c%c%c%c%c %d",
	&a[0],&a[1],&a[2],&a[3],&a[4],&a[5],
	&n);

for(i = 0;(i <  6)&&(a[i] == '0'||a[i] == '.');i++ );
for(j = 5;(j >= 0)&&(a[j] == '0'||a[j] == '.');j-- );
for(k = 0;a[k] != '.';k++);

if (i>j) {
	printf("0\n");
	return 0;
	};

for(m = 0,d = j;d >= i ;d--,m++)
	if((r[m] = a[d]) == '.')
		m--;
d = k - j;

for( i = m-1;i>=0;i--)
	r[i]-='0';

for(i=0;i<125;i++)
	result[i] = 0;
	
memcpy(result,r,m);

for(l=n;l>1;l--)
{	
	for(i=0;i<125;i++)
		for(j = 0;j < m;j++)
			temp[j][i] = 0;
		
	for(i = 124;result[i] == 0;i--);

	for(j = 0;j < m;j++)
		for(k = 0;k <= i;k++)
			{
		 		temp[j][k+j] += result[k]*r[j];
				temp[j][k+j+1] += (char)(temp[j][k+j]/10);
				temp[j][k+j] %= 10;
			};

	for(k=0;k<125;k++)
		result[k] = 0;

	for(k = 0;k <= i+m;k++)
	{
		sum = 0;
		for(j = 0;j < m;j++)
		sum += temp[j][k];
		result[k] += sum;
		result[k+1] += (char)(result[k]/10);
		result[k] %= 10;
	};

};

for(i = 124;result[i] == 0;i--);

if((i+d*n+1) <= 0)
{
	printf(".");
   	for( k = i+d*n+1;k<0;k++)
	printf("0");
	
	for(k = i;k >= 0;k--)
	printf("%d",result[k]);

}else for(k = i;k >= 0;k--)
	{
		if(k+d*n+1 == 0)
      			printf(".");
		printf("%d",result[k]);
	};	
			
printf("\n");

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