| ||||||||||
| Online Judge | Problem Set | Authors | Online Contests | User | ||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest | |||||||||
为什么会出现 runtime error 帮帮忙,看看!!为什么会出现 runtime error 帮帮忙,看看!!
#include<stdio.h>
#include<string.h>
#include<math.h>
struct tree
{
char name[35];
double per;
};
struct tree str[10000];
int b[10000],t;
int f(char *s)
{
int i;
for(i=0;i<t;i++)
{
if(strcmp(str[i].name,s)==0)
return i;
}
strcpy(str[t].name,s);
t++;
return t-1;
}
void q_sort(struct tree s[],int left,int right)
{
int low,upper;
struct tree temp;
struct tree temp1;
if(left<right)
{
temp=s[left];
low=left;
upper=right+1;
}
while(1)
{
while(strcmp(s[++low].name,temp.name)<0);
while(strcmp(s[--upper].name,temp.name)>0);
if(low>=upper)
{
break;
}
temp1=s[low];
s[low]=s[upper];
s[upper]=temp1;
}
s[left]=s[upper];
s[upper]=temp;
q_sort(str,left,upper-1);
q_sort(str,upper+1,right);
}
void main()
{
char s[35];
int i,n;
long count=0;
memset(b,0,sizeof(b));
t=0;
while(gets(s)!=NULL)
{
count++;
n=f(s);
b[n]++;
}
for(i=0;i<t;i++)
{
str[i].per=b[i]*1.0/count;
}
q_sort(str,0,t);
for(i=0;i<t;i++)
printf("%s %.4lf\n",str[i].name,str[i].per*100);
}
Followed by:
Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator