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:为什么会RE啊?找了好久了,哪个大牛帮我看看啊!(附代码)

Posted by sgxiao at 2008-12-07 11:42:15 on Problem 1589
In Reply To:为什么会RE啊?找了好久了,哪个大牛帮我看看啊!(附代码) Posted by:hezhenbin at 2008-10-17 10:52:25
我的也RE得莫名其妙。。。。。哪位高手帮我看看

/*
Author: sgxiao
Title: 1589 -- Unix ls
LANG: C
Date : Sun Dec  7 00:35:23 CST 2008
*/

#include<stdio.h>
#include<stdlib.h>
#include<string.h>

#define CONVERT(a) *((char **)a)

char filenames[105][65];
char* ptr_file[105];
int length[105];

int compare(const void *a,const void *b){
	return strcmp( CONVERT(a), CONVERT(b) );
}

int main(void)
{
	int i, j, k;
	int n;
	int longest_length;
	int row, column;
	
	while( scanf("%d", &n) != EOF ) {
		longest_length = 0;
		for(i = 0; i < n; i++) {
			scanf("%s", filenames[i]);
			length[i] = strlen(filenames[i]);
			ptr_file[i] = filenames[i];
			if( longest_length < length[i] )
				longest_length = length[i];
		}
		
		/* sort the filenames */
		qsort(ptr_file, n, sizeof(char *), compare);
		
		column = 60 / (longest_length + 2);
		row = ((n % column) ? (n / column + 1) : (n / column));
		
		printf("------------------------------------------------------------\n");
		for(i = 0; i < row; i++) {
			for(j = 0; j < column; j++) {
				if( ptr_file[i + j * row] != NULL ) {
					printf("%s", ptr_file[i + j * row]);
					/* need more blank */
					if( j != column - 1 && (i + j * row) < n - column + 1) {
						for(k = 0; k < longest_length - strlen(ptr_file[i + j * row]); k++) {
							printf(" ");
						}
						printf("  ");
					}
				}
			}
			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