语言每日一练7.25(C类高能预警)"/>
C语言每日一练7.25(C类高能预警)
A类
1.(原创)耿老师有10个学生,现在老师很生气,想找出成绩最差的学生打PP,下列程序实现这一功能,要求用户输入10个成绩,输出其中最低的成绩及学生编号,效果如图:
(注:如果有多个学生成绩最低,输出第一个学生的编号)
请补充下列代码,实现此功能:
#include <stdio.h>
int main() {int input, min, i, who;min = _________________;//此处选填:A.-9999 B.0 C.9999printf("请输入10个成绩:");for (i = 0; i < 10; i++) {scanf("%d", &input);if (input < min) {min = input;who = ___________________;}}printf("得分最低的学生为:%d\n", who);printf("最低分为:%d\n", min);return 0;
}
B类
2.(原创)请编写一个程序,输出1、2、3的全排列,效果如图(注:只要能输出所有排列即可,顺序未必要与示例相同)
C类
3.(原创)请编写一个程序,要求用户输入n,然后输出1到n的全排列,效果如图
-------------------------------以下为答案------------------------------
1.
#include <stdio.h>
int main() {int input, min, i, who;min = 9999;printf("请输入10个成绩:");for (i = 0; i < 10; i++) {scanf("%d", &input);if (input < min) {min = input;who = i + 1;}}printf("得分最低的学生为:%d\n", who);printf("最低分为:%d\n", min);return 0;
}
2.
#include <stdio.h>
int main() {int a, b, c;for (a = 1; a <= 3; a++) {for (b = 1; b <= 3; b++) {for (c = 1; c <= 3; c++) {if (a != b && a != c && b != c) {printf("%d %d %d\n", a, b, c);}}}}return 0;
}
3.
#include <stdio.h>
#include <stdlib.h>
void swap(int *x, int *y) {int temp;temp = *x;*x = *y;*y = temp;
}
void perm(int *a, int index, int length) {int i;if (index == length) {for (i = 0; i < length; i++) {printf("%d ", a[i]);}putchar('\n');} else {for (i = index; i < length; i++) {swap(&a[i], &a[index]);perm(a, index + 1, length);swap(&a[i], &a[index]);}}
}
int main() {int n, i, *a;printf("请输入n:");scanf("%d", &n);a = (int *)malloc(sizeof(int) * n);for (i = 0; i < n; i++) {a[i] = i + 1;}perm(a, 0, n);return 0;
}
更多推荐
C语言每日一练7.25(C类高能预警)
发布评论