• 数据结构上机1


    1、题目: 将1~10存入数组a[10],并将其逆序输出

    1. #define _CRT_SECURE_NO_WARNINGS 1
    2. //(1) 将1~10存入数组a[10],并将其逆序输出
    3. #include
    4. int main() {
    5. int a[10];
    6. // 将1到10存入数组a[10]
    7. for (int i = 0; i < 10; i++)
    8. {
    9. a[i] = i + 1;
    10. }
    11. // 逆序输出数组a[10]
    12. printf("逆序输出数组:\n");
    13. for (int i = 9; i >= 0; i--)
    14. {
    15. printf("%d ", a[i]);
    16. }
    17. return 0;
    18. }

    结果展示:

    2、题目://(2) 用指针方式编写程序:从键盘输入10个整型数据并存入数组,要求将10个数中最大的数与第一个输入的数交换;将10个数中最小的数与最后的一个输入的数交换。

    1. #define _CRT_SECURE_NO_WARNINGS 1
    2. //(2) 用指针方式编写程序:从键盘输入10个整型数据并存入数组,
    3. // 要求将10个数中最大的数与第一个输入的数交换;将10个数中最小的数与最后的一个输入的数交换。
    4. #include
    5. void swap(int* a, int* b)
    6. {
    7. int temp = *a;
    8. *a = *b;
    9. *b = temp;
    10. }
    11. int main()
    12. {
    13. int arr[10];
    14. printf("请输入10个整型数据:\n");
    15. for (int i = 0; i < 10; i++)
    16. {
    17. scanf("%d", &arr[i]);
    18. }
    19. int* max = arr;
    20. int* min = arr;
    21. // 寻找最大和最小值的指针
    22. for (int i = 1; i < 10; i++)
    23. {
    24. if (arr[i] > *max)
    25. {
    26. max = &arr[i];
    27. }
    28. if (arr[i] < *min)
    29. {
    30. min = &arr[i];
    31. }
    32. }
    33. // 交换最大值和第一个输入的值
    34. swap(max, &arr[0]);
    35. // 交换最小值和最后一个输入的值
    36. swap(min, &arr[9]);
    37. printf("交换后的数组:\n");
    38. for (int i = 0; i < 10; i++)
    39. {
    40. printf("%d ", arr[i]);
    41. }
    42. return 0;
    43. }

    结果展示:

    3、题目://(3) 有5个学生,每个学生的数据包括学号、姓名、三门课的成绩、平均分。
    要求:从键盘依次输入5个学生的学号、姓名、三门课的成绩,自动计算三门课的平均分,并将5个学生的数据在屏幕上输出。

    1. #define _CRT_SECURE_NO_WARNINGS 1
    2. //(3) 有5个学生,每个学生的数据包括学号、姓名、三门课的成绩、平均分。
    3. //要求:从键盘依次输入5个学生的学号、姓名、三门课的成绩,自动计算三门课的平均分,并将5个学生的数据在屏幕上输出。
    4. #include
    5. // 结构体定义:学生信息
    6. struct Student
    7. {
    8. int student_id;
    9. char name[50];
    10. float scores[3];
    11. float average_score;
    12. };
    13. int main()
    14. {
    15. struct Student students[5];
    16. printf("请输入5个学生的信息:\n");
    17. // 输入学生信息
    18. for (int i = 0; i < 5; i++)
    19. {
    20. printf("学生%d的学号: ", i + 1);
    21. scanf("%d", &students[i].student_id);
    22. printf("学生%d的姓名: ", i + 1);
    23. scanf("%s", students[i].name);
    24. printf("学生%d的三门课成绩(用空格分隔): ", i + 1);
    25. for (int j = 0; j < 3; j++)
    26. {
    27. scanf("%f", &students[i].scores[j]);
    28. }
    29. // 计算平均分
    30. float sum = 0;
    31. for (int j = 0; j < 3; j++)
    32. {
    33. sum += students[i].scores[j];
    34. }
    35. students[i].average_score = sum / 3;
    36. }
    37. printf("\n学生信息如下:\n");
    38. // 输出学生信息
    39. for (int i = 0; i < 5; i++)
    40. {
    41. printf("学号: %d\n", students[i].student_id);
    42. printf("姓名: %s\n", students[i].name);
    43. printf("三门课成绩: %.2f, %.2f, %.2f\n", students[i].scores[0], students[i].scores[1], students[i].scores[2]);
    44. printf("平均分: %.2f\n", students[i].average_score);
    45. printf("\n");
    46. }
    47. return 0;
    48. }

    结果展示:

    希望对你有所帮助

  • 相关阅读:
    Java-抽象类、抽象方法
    Vue3使用fullcalendar日历插件
    精通 Verilog HDL 设计之编码风格(5)顶层简洁化
    Multichain跨链无法到账,DApp真去中心化or伪去中心化?
    idea无法通过vpn连接到数据库
    第一章 - 第4节-计算机软件系统 - 课后习题
    红黑树(思维导图详解版)
    深入了解Linux内核MMU管理机制
    HTML基本骨架与编辑器选择
    TypeError: bases must be types
  • 原文地址:https://blog.csdn.net/Starry__Sky222/article/details/133277966