指针及应用

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第1关:数组倒置

本关任务:程序功能是通过调用

值,请补全程序。

测试说明

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

预期输出:

#include "stdio.h"

#define N 10

void reverse(int *p, int a, int b)

{

int c;

/***** 请在以下一行填写代码*****/

while (a

{

c=*(p+a);

/***** 请在以下一行填写代码*****/ *(p+a)=*(p+b) ;

*(p+b)=c;

a++;

/***** 请在以下一行填写代码*****/ b--;

}

}

int main()

int a[N], i;

for (i=0; i

/***** 请在以下一行填写代码*****/

scanf("%d", &a[i] );

reverse(a, 0, N-1);

for (i=0; i

/***** 请在以下一行填写代码*****/

printf("%d ", a[i] );

printf("\n");

return 0;

}

第2关:字符排序

本关任务:对某一个长度为, 除首、尾字符之外,要求对中间

例如,原来的字符串为

测试说明

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

测试输入:

预期输出:

#include

#include

#include

int fun(char *s, int num)

char ch;

int i, j;

for(i = 1 ; i < 6 ; i++)

for(j = i + 1 ; j < 6 ; j++)

{

/***** 请在以下一行填写代码*****/

if(*(s+i) < *(s+j))

{

ch = *(s + j);

*(s + j) = *(s +i);

*(s + i) = ch;

}

}

}

int main()

{

char s[10];

scanf("%s",s);

/***** 请在以下一行填写代码*****/

fun(s, 7);

printf("%s",s);

return 0;

}

}第3关:找最长串

本关任务:给定程序中函数

并放入一个字符串数

组中。请改正程序中的错误,使它能得出正确结果。注意:不要改动

不得增行或删行,也不得更改程序的结构。

测试说明

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

测试输入:

预期输出:

#include

#include

#define N 5

#define M 81

/***** 以下一行有错误*****/ char* fun(char (*sq)[M])

{

int i; char *sp;

sp=sq[0];

for(i=0;i

if(strlen(sp)

sp=sq[i];

/***** 以下一行有错误*****/ return sp;

}

int main()

{

char str[N][M], *longest;

int i;

for(i=0; i

scanf("%s",str[i]);

printf("The %d string :\n",N);

for(i=0; i

puts(str[i]);

longest=fun(str);

printf("The longest string :\n");

puts(longest);

return 0;

}

第4关:星号转移

结果。

测试说明

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

预期输出:

#include

void fun( char *a )

{

int i=0,n=0;

char *p;

p=a;

while (*p=='*')

{

n++;

/***** 请在以下一行填写代码*****/ p++;

}

while(*p)

{

/***** 请在以下一行填写代码*****/ a[i]=*p;

i++;

p++;

}

while(n!=0)

{

a[i]='*';

i++;

/***** 请在以下一行填写代码*****/ n--;

}

a[i]='\0';

}

int main()

{

char s[81];

int n=0;

scanf("%s",s);

fun( s );

printf("The string after oveing: \n");

puts(s);

return 0;

}

相关文档
最新文档