• 数据结构上机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. }

    结果展示:

    希望对你有所帮助

  • 相关阅读:
    链表的概念+MySingleList的实现
    贪心算法------单源最短路径问题(Dijkstra)
    C语言之字符函数总结(全部!),一篇记住所有的字符函数
    springboot+vue 架构 (一)
    canvas基础简单易懂教程(完结,多图)
    基于XXL-JOB分布式任务的实现
    MySQL进阶之存储引擎和索引
    java毕业设计网站swing mysql实现的仓库商品管理系统[包运行成功]
    在Linux环境下从源码构建并安装GCC
    计算机毕业设计Java供电公司安全生产考试系统(源码+系统+mysql数据库+Lw文档)
  • 原文地址:https://blog.csdn.net/Starry__Sky222/article/details/133277966