1.
1 #include<stdio.h> int main() { int a, b, c, d, e; // 红0 黄1 蓝2 白3 紫4 for (a = 0; a < 5; a++) for (b = 0; b < 5; b++) for (c = 0; c < 5; c++) for (d = 0; d < 5; d++) for (e = 0; e < 5; e++) if ( ((b == 4 )+ (d == 1)==1) && ((a == 0) + (e == 3) == 1) && ((b == 1) + (e == 4) ==1) && ((c == 3) + (d == 2) == 1) )printf("%d %d %d %d %d", a, b, c, d, e); return 0; } 2 #include<stdio.h> #include<string.h> #define N 10 void sortString(char str[][50]) { char temp[]; for(int i = 0; i < N; i ++) for(int j = 0; j < N-i-1; j ++) if(strcmp(str[j] , str[j+1]) < 0){ strcpy(temp , str[j]); strcpy(str[j] , str[j+1]); strcpy(str[j] , temp); } } void main() { int i, k; char max[50]; char str[N][50]; for(i = 0; i < N; i ++) gets(str[i]); strcpy(max , str[0]); for(i = 0; i < N; i ++) if(strcmp(max , str[i]) < 0){ strcpy(max , str[i]); k = i; } sortString(str); printf("the position of maxstrin is%d\n", k); } 3 #include<stdio.h> #define MAX 100 struct student{ char name[20]; int num; int score[4]; int sum; }; void swap(struct student *s, struct student *t) { struct student temp; temp = *s; *s = *t; *t = temp; } void file_write(FILE *fp, struct student *s[], int n) { int i; for(i = 0; i < n; i ++){ fprintf(fp, "%s", s[i]->name); fprintf(fp, "%d", s[i]->num); for(k = 0; k < 4; k++) fprintf(fp, "%d ", s[i]->score[k]); } } void main() { struct student stu[MAX]; int i, j, k, num_stu; // 1-从文件info.dat读入数据并分类 FILE *fp; fp = fopen("info.dat" , "r"); num_stu = 0; while(!feof){ fscanf(fp , "%s", &stu[num_stu].name); fscanf(fp , "%d", &stu[num_stu].num); for(k = 0; k < 4; k++){ fscanf(fp, "%d", &stu[num_stu].score[k]); stu[num_stu].sum += stu[num_stu].score[k]; // 统计总分 } num_stu ++; } fclose(fp); // 2-对数据进行排序 for(i = 0; i < num_stu; i ++) for(j = 0; j < num_stu-i-1; j ++) if(sort_bynum[j].sum > sort_bynum[j+1].sum) swap(&sort_bysum[j] , &sort_bysum[j+1]); // 3-将数据写入 infosort.dat 以下可以用函数实现。。。。。。 void file_write(FILE *fp, struct student *s[], int n); fp = fopen("infosort.dat" , "w"); fprintf(fp, "sort_bysum:\n"); file_write(fp, stu, num_stu); fclose(fp); }