• 指针及其应用


    第1关:数组倒置

    200

    • 任务要求
    • 参考答案
    • 评论93

    任务描述

    本关任务:程序功能是通过调用reverse()函数按逆序重新放置数组a中的元素值,请补全程序。

    相关知识

    相关知识略

    编程要求

    请仔细阅读右侧代码,结合相关知识,在右边提示区域内进行代码补充,完成编写数组倒置的小程序。

    测试说明

    平台会对你编写的代码进行测试:

    测试输入: 0 1 2 3 4 5 6 7 8 9

    预期输出: 9 8 7 6 5 4 3 2 1 0


    开始你的任务吧,祝你成功!

    1. #include "stdio.h"
    2. #define N 10
    3. void reverse(int *p, int a, int b)
    4. {
    5. int c;
    6. /***** 请在以下一行填写代码 *****/
    7. while (a
    8. {
    9. c=*(p+a);
    10. /***** 请在以下一行填写代码 *****/
    11. *(p+a)=*(p+b);
    12. *(p+b)=c;
    13. a++;
    14. /***** 请在以下一行填写代码 *****/
    15. b--;
    16. }
    17. }
    18. int main()
    19. {
    20. int a[N], i;
    21. for (i=0; i
    22. /***** 请在以下一行填写代码 *****/
    23. scanf("%d",&a[i])
    24. reverse(a, 0, N-1);
    25. for (i=0; i
    26. /***** 请在以下一行填写代码 *****/
    27. printf("%d ",a[i]);
    28. printf("\n");
    29. return 0;
    30. }

    第2关:字符排序

    200

    • 任务要求
    • 参考答案
    • 评论93

    任务描述

    本关任务:对某一个长度为7个字符的字符串, 除首、尾字符之外,要求对中间的5个字符按ASCII降序排列

    例如,原来的字符串为CEAedca,排序处理后应输出为CedcEAa

    相关知识

    相关知识略

    编程要求

    请仔细阅读右侧代码,结合相关知识,在右边提示区域内进行代码补充,完成编写字符排序的小程序。

    测试说明

    平台会对你编写的代码进行测试:

    测试输入: CEAedca

    预期输出: CedcEAa


    开始你的任务吧,祝你成功!

    1. #include
    2. #include
    3. #include
    4. int fun(char *s, int num)
    5. {
    6. char ch;
    7. int i, j;
    8. for(i = 1 ; i < 6 ; i++)
    9. for(j = i + 1 ; j < 6 ; j++)
    10. {
    11. /***** 请在以下一行填写代码 *****/
    12. if(*(s+j)>*(s+i))
    13. {
    14. ch = *(s + j);
    15. *(s + j) = *(s +i);
    16. *(s + i) = ch;
    17. }
    18. }
    19. }
    20. int main()
    21. {
    22. char s[10];
    23. scanf("%s",s);
    24. /***** 请在以下一行填写代码 *****/
    25. fun(s,7);
    26. printf("%s",s);
    27. return 0;
    28. }

    第3关:找最长串

    200

    • 任务要求
    • 参考答案
    • 评论93

    任务描述

    本关任务:给定程序中函数fun的功能是从N个字符串中找出最长的那个串,并将其地址作为函数值返回。N个字符串在主函数中输入,并放入一个字符串数组中。请改正程序中的错误,使它能得出正确结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。

    相关知识

    相关知识略

    编程要求

    请仔细阅读右侧代码,结合相关知识,在右边提示区域内进行代码补充,完成编写找最长串的小程序。

    测试说明

    平台会对你编写的代码进行测试:

    测试输入: a bb ccc dddd eeeee

    预期输出: The 5 string : a bb ccc dddd eeeee The longest string : eeeee


    开始你的任务吧,祝你成功!

    1. #include
    2. #include
    3. #define N 5
    4. #define M 81
    5. /***** 以下一行有错误 *****/
    6. char *fun(char (*sq)[M])
    7. {
    8. int i; char *sp;
    9. sp=sq[0];
    10. for(i=0;i
    11. if(strlen( sp)<strlen(sq[i]))
    12. sp=sq[i];
    13. /***** 以下一行有错误 *****/
    14. return sp;
    15. }
    16. int main()
    17. {
    18. char str[N][M], *longest; int i;
    19. for(i=0; i
    20. scanf("%s",str[i]);
    21. printf("The %d string :\n",N);
    22. for(i=0; i
    23. puts(str[i]);
    24. longest=fun(str);
    25. printf("The longest string :\n");
    26. puts(longest);
    27. return 0;
    28. }

    第4关:星号转移

    300

    • 任务要求
    • 参考答案
    • 评论93

    任务描述

    本关任务:规定输入的字符串中只包含字母和*号。给定程序的功能是将字符串中的前导*号全部移到字符串的尾部。请将程序补充完整,使其能正确运行得出结果。

    相关知识

    相关知识略

    编程要求

    请仔细阅读右侧代码,结合相关知识,在右边提示区域内进行代码补充,完成编写星号转移的小程序。

    测试说明

    平台会对你编写的代码进行测试:

    测试输入: ***abcd

    预期输出: abcd***


    开始你的任务吧,祝你成功!

    1. #include
    2. void fun( char *a )
    3. {
    4. int i=0,n=0;
    5. char *p;
    6. p=a;
    7. while (*p=='*')
    8. {
    9. n++;
    10. /***** 请在以下一行填写代码 *****/
    11. p++;
    12. }
    13. while(*p)
    14. {
    15. /***** 请在以下一行填写代码 *****/
    16. a[i]=*p;
    17. i++;
    18. p++;
    19. }
    20. while(n!=0)
    21. {
    22. a[i]='*';
    23. i++;
    24. /***** 请在以下一行填写代码 *****/
    25. n--;
    26. }
    27. a[i]='\0';
    28. }
    29. int main()
    30. {
    31. char s[81];
    32. int n=0;
    33. scanf("%s",s);
    34. fun( s );
    35. printf("The string after oveing: \n");
    36. puts(s);
    37. return 0;
    38. }

  • 相关阅读:
    Python异步编程之web框架 异步vs同步 Redis并发对比
    Ubuntu中无法git clone,一直连接不上的解决方法
    异步编程解决方案 Generator生成器函数、iterator迭代器、async/await、Promise
    项目实战(四) 谷粒商城
    如何设计一个“好的“测试用例?
    Janus库简介
    linux部署运维3——centos7.9离线安装部署配置涛思taos2.6时序数据库TDengine以及java项目链接问题处理(二)
    WPF由文本框输入的内容动态渲染下拉框
    WPF Material Design 初次使用
    vr虚拟仿真样板间极大节省出样成本-深圳华锐视点
  • 原文地址:https://blog.csdn.net/m0_70469414/article/details/128032043