C语言基础:数组练习题
//1. 键盘录入一组数列,利用冒泡排序将数据由大到小排序
//#include <stdio.h>
//
//int main() {
// int n;
// printf("请输入数列的长度:");
// scanf("%d", &n);
//
// int arr[n];
// printf("请输入数列中的数:\n");
// for (int i = 0; i < n; i++) {scanf("%d", &arr[i]);}
//
// int i, j, temp;
// // 从大到小
// for (i = 0; i < n - 1; i++) {
// for (j = 0; j < n - i - 1; j++) {
// if (arr[j] < arr[j + 1]) {
// temp = arr[j];
// arr[j] = arr[j + 1];
// arr[j + 1] = temp;
// }
// }
// }
// printf("从大到小排序后的数列:");
// for (int i = 0; i < n; i++) {printf("%d ", arr[i]);}
// printf("\n");
//
// return 0;
//}
//2. 从键盘输入年、月、日,计算并输出该日是该年第几天
//#include <stdio.h>
//
//int main (){
//
// int year,month,day;
// printf("请输入年月日:");
// scanf("%d %d %d",&year, &month, &day);
//
// int months [12] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
//
// if (year % 4 == 0 && year % 10 != 0 || year % 400 == 0){
// months [1] = 29;
// }
// int i, sum = 0;
// for (i = 0 ; i <= month - 2 ; i++){
// sum += months[ i ];
// }
// sum = sum + day;
// printf("%d",sum);
//
// return 0;
//}
//3. 键盘录入一组数列,求最大数、最小数、均值
//#include <stdio.h>
//
//int main() {
// int n;
// printf("请输入数列的长度:");
// scanf("%d", &n);
//
// int arr[n];
// printf("请输入数列中的数:\n");
// for (int i = 0; i < n; i++) {
// scanf("%d", &arr[i]);
// }
//
// int max = arr[0];
// int min = arr[0];
// int sum = 0;
//
// for (int i = 0; i < n; i++) {
//
// if (arr[i] > max) {
// max = arr[i];
// }
//
// if (arr[i] < min) {
// min = arr[i];
// }
//
// sum += arr[i];
// }
//
// double mean;
// mean = (double)sum / n;
//
// printf("最大数:%d\n", max);
// printf("最小数:%d\n", min);
// printf("均 值:%.2f\n", mean);
//
// return 0;
//}
//4. 从键盘录入一组数列,判断是否是回文,举例:12321,abba,121
//#include <stdio.h>
//
//int main() {
// int n;
// printf("请输入数列的长度:");
// scanf("%d", &n);
//
// int i, arr[n];
// printf("请输入数列中的数:\n");
// for (int i = 0; i < n; i++) {
// scanf("%d", &arr[i]);
// }
// i = 0;
//
// int Palindrome = 1;
// for (i = 0; i < n / 2; i++) {
// if (arr[i] != arr[n - 1 - i]) {
// Palindrome = 0;
// break;
// }
// }
//
// if (Palindrome) {
// printf("是回文数列\n");
// } else {
// printf("不是回文数列\n");
// }
//
// return 0;
//}
//5. 用数组存储10个整型数,通过键盘输入一个数,找出该数在数组中的下标值
//#include <stdio.h>
//
//int main() {
// int i, arr[10];
// printf("输入 10 个整数:\n");
// for (i = 0; i < 10; i++) {
// scanf("%d", &arr[i]);
// }
// i = 0;
//
// int num;
// printf("输入要查找的数:");
// scanf("%d", &num);
//
// int index = -1;//index:下标
// for (i = 0; i < 10; i++) {
// if (arr[i] == num) {
// index = i;
//
// if (index != -1) {
// printf("下标是:%d\n", index);
// }
// }
// }
// return 0;
//}
//6. 通过键盘输入 10 个学员成绩:
//1)输出不及格学员的成绩和下标。
//2)求最高分的下标值
//3)求最低成绩的下标值
//4)求总成绩及平均成绩
//#include <stdio.h>
//
//int main() {
// float scores[10];
// printf("请输入10个学员的成绩:\n");
// for (int i = 0; i < 10; i++) {
// scanf("%f", &scores[i]);
// }
//
// printf("不及格学员:\n");
// int failCount = 0;
// for (int i = 0; i < 10; i++) {
// if (scores[i] < 60) {
// printf("下标:%d,成绩:%.1f\n", i, scores[i]);
// failCount++;
// }
// }
// if (failCount == 0) {
// printf("没有不及格的学员\n");
// }
//
// int maxIndex = 0;
// for (int i = 1; i < 10; i++) {
// if (scores[i] > scores[maxIndex]) {
// maxIndex = i;
// }
// }
// printf("最高分的下标:%d\n", maxIndex);
//
// int minIndex = 0;
// for (int i = 1; i < 10; i++) {
// if (scores[i] < scores[minIndex]) {
// minIndex = i;
// }
// }
// printf("最低分的下标:%d\n", minIndex);
//
// float total = 0;
// for (int i = 0; i < 10; i++) {
// total += scores[i];
// }
// float average = total / 10;
// printf("总成绩: %.1f\n", total);
// printf("平均成绩:%.1f\n", average);
//
// return 0;
//}