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

可能是我题目没读懂,请教几组输入的结果

Posted by DancingBlue at 2006-07-31 13:16:59 on Problem 1589
26
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z



我的程序是


------------------------------------------------------------
a  c  e  g  i  k  m  n  o  p  q  r  s  t  u  v  w  x  y  z
b  d  f  h  j  l


不晓得错在哪里了,反正wa的有些郁闷了,附带源代码

#include<stdio.h>
#include<string.h>
#include<stdlib.h>
struct file{
	char name[99];
	int len;
};
int cmp(const void * a,const void * b){
	return strcmp(((file*)a)->name,((file*)b)->name);
}
int main(){
	int fileNum,maxLen,i,rows,cols,j,k,map[100][22];
	file files[200];
	char bu[99];
	while(gets(bu)){
		sscanf(bu,"%d",&fileNum);
		maxLen=0;
		for(i=0;i<fileNum;i++){
			gets(files[i].name);
			files[i].len=strlen(files[i].name);
			if(files[i].len>maxLen)maxLen=files[i].len;
		}
		cols=62/(maxLen+2);
		rows=fileNum/cols+(fileNum%cols?1:0);
		cols++;
		rows++;
		for(i=0;i<rows;i++)for(j=0;j<cols;j++)map[i][j]=0;
		cols--;
		rows--;
		for(k=i=0;i<rows;i++)for(j=0;j<cols;j++){
			map[i][j]=1;
			k++;
			if(k>=fileNum)goto end;
		}
end:	qsort(files,fileNum,sizeof(files[0]),cmp);
		k=1;
		for(i=0;i<cols;i++)for(j=0;j<rows;j++){
			if(map[j][i]){
				map[j][i]=k++;
			}else{
				break;
			}
		}
		printf("------------------------------------------------------------\n");
		for(i=0;i<rows;i++){
			for(j=0;j<cols;j++){
				if(map[i][j]){
					printf("%s",files[map[i][j]-1].name);
					if(map[i][j+1]){
						for(k=files[map[i][j]-1].len;k<maxLen+2;k++)printf(" ");
					}else{
						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