指針綜述(三)

Description

鍵盤輸入兩個整數,按從大到小的順序輸出。主函數以下,請編寫被調函數。函數

說明:spa

只須要編寫被調函數便可,系統會自動在您提交代碼的後面,加上下面的主函數ip

int  main()字符串

{get

       int  a[2];io

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

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

       sub(p);di

       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;

 

}

相關文章
相關標籤/搜索