是說雖然輸入的是浮點數,但是output要print out一模一樣,
也只能用char吃了。
/* ACM 482 Permutation Array * mythnc * 2012/01/11 12:37:57 * run time: 0.008 */ #include <stdio.h> #define MAX 1000 #define MAXC 30 int input1(int *); void input2(int *, char (*)[], int); void output(char (*)[], int); int main(void) { int set, n, i; int index[MAX]; char list[MAX][30]; scanf("%d", &set); for (i = 0; i < set; i++) { getchar(); getchar(); if (i > 0) putchar('\n'); n = input1(index); input2(index, list, n); output(list, n); } return 0; } /* input1: eat list and return n */ int input1(int *index) { int i; char line[MAX]; char c; i = 0; while (scanf("%s%c", line, &c) == 2) { sscanf(line, "%d", &index[i]); i++; if (c == '\n') return i; } } /* input2: eat string */ void input2(int *index, char (*list)[MAXC], int n) { int i; for (i = 0; i < n; i++) scanf("%s", list[index[i] - 1]); } /* output: output results */ void output(char (*list)[MAXC], int n) { int i; for (i = 0; i < n; i++) printf("%s\n", list[i]); }
沒有留言:
張貼留言