指针综述(三)

Description

键盘输入两个整数,按从大到小的顺序输出。主函数如下,请编写被调函数。

说明:

只需要编写被调函数即可,系统会自动在您提交代码的后面,加上下面的主函数

int  main()

{

       int  a[2];

       int *p[2]={&a[0], &a[1]};

       scanf("%d%d",&a[0], &a[1]);  //或者 scanf("%d%d", p[0], p[1]);

       sub(p);

       printf("%d,%d\n", *p[0],*p[1]); //从大到小输出两个数

       printf("%d,%d\n", a[0], a[1]);  //输出原来输入的两个值,不得交换

       return 0;

}

 

Input

输入两个整数

Output

先按大小顺序输出两个整数

再按原来的输入顺序,输出两个整数

Sample Input

12 34

Sample Output

34,12 12,34 
 

#include <stdio.h>
#include <stdlib.h>

void sub(int *p[2])
{
int *t;
if(*p[0]<*p[1])
{
t=p[0];
p[0]=p[1];
p[1]=t;
}
}
int main()

 

{

 

int a[2];

 

int *p[2]={&a[0], &a[1]};

 

scanf("%d%d",&a[0], &a[1]); //或者 scanf("%d%d", p[0], p[1]);

 

sub(p);

 

printf("%d,%d\n", *p[0],*p[1]); //从大到小输出两个数

 

printf("%d,%d\n", a[0], a[1]); //输出原来输入的两个值,不得交换

 

return 0;

 

}

 

Description

后台已有main函数(会自动添加到你的代码之后),代码如下。其功能是能从键盘输入4个字符串,然后由被调函数找到最大字符串(按字典顺序最大)的位置,主函数将它输出

 int main()

{

   char *p[4],*q;

   int i;

   for(i=0;i<=3;i++) {

       p[i]=(char *)malloc(21);

       gets(p[i]);

   }

   q=search(p,4);

   puts(q);

   for(i=0;i<=3;i++)

        free(p[i]);

   return 0;

}

请你编写被调函数search(),其功能是能找到最大字符串的位置。

Input

输入四个字符串

Output

输出最大的字符串

Sample Input

abc I am a boy. world cup Hello

Sample Output

world cup 
 
 

#include <stdio.h>
#include <stdlib.h>

int search(char **p,int n)
{
int i,m;
for(i=1;i<n;i++)
{
m=strcmp(*(p+i),*p);
if(m>=0)
{
*p=*(p+i);
}
}
return *p;
}
int main()

 

{

 

char *p[4],*q;

 

int i;

 

for(i=0;i<=3;i++) {

 

p[i]=(char *)malloc(21);

 

gets(p[i]);

 

}

 

q=search(p,4);

 

puts(q);

 

for(i=0;i<=3;i++)

 

free(p[i]);

 

return 0;

 

}

 

 

posted @ 2019-05-19 16:05  鹿汐  阅读(792)  评论(0编辑  收藏  举报