指针

Description

主函数中输入一个整数,由被调函数(无返回值)使之变为绝对值,然后主函数输出它
注意:输入输出都由主函数完成,被调函数没有返回值

Input

输入任意整数

Output

输出其绝对值

Sample Input

-9

Sample Output

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

void fun(int t,int *p)
{
if(t>0)
*p=t;
else
*p=-t;
}
int main()
{
int a,b;
scanf("%d",&a);
fun(a,&b);
printf("%d\n",b);
return 0;
}

 

 

Description

 

主函数中定义变量max和min。在被调函数中输入n个整数(先输入n,再输入n个整数),找出最大、最小值分别存入主函数中的max和min中。最后结果在主函数中输出。
已有程序框架如下:
#include <stdio.h>
/***************************************************************/

   //此处缺少被调函数的定义

/***************************************************************/
int main()
{
     int max,min;
     max_min(______________);     //横线处缺少函数实参
     printf("max=%d min=%d\n",max,min);
     return 0;
}
请编写被调函数定义,填写到考试页面的第一个文本框中,并将横线处所缺代码填写到第二个文本框中

 

Input

 

n以及n个整数

 

Output

 

输出最大、最小值

 

Sample Input

 

10 5 9 17 11 2 29 3 1 23 17

 

Sample Output

 

max=29 min=1

 

#include <stdio.h>

void max_min(int *max,int *min)
{
int n,i=0,a,b,t;
scanf("%d",&n);
scanf("%d",&a);
*min=a;
*max=a;
for(i=1;i<n;i++)
{
scanf("%d",&b);
if(b<*min)
{
*min=b;
}
if(b>*max)
{
*max=b;
}
}
}
int main()
{
int max,min;
max_min(&max,&min);
printf("max=%d\nmin=%d\n",max,min);
return 0;
}

 

Description

 

main函数中定义了四个整形变量a、b、m、n, 其中a、b用来存储键盘输入的两个正整数,m、n分别用来存储a、b的最大公约数和最小公倍数,但是main函数只负责输入数据和输出结果,求最大公约数和最小公倍数的任务需要另一个函数去完成,即:被调函数需要求出这两个值并分别存储到main函数定义的m、n中,请在下面的主函数中填写函数声明和调用语句,并编写被调函数sub,然后将全部代码一起提交。
注意:1.不允许改变主函数其他任何地方,只填空。2.被调函数只有一个。
#include <stdio.h>
int main()
{
     ______________;    //这里需要填写代码
     int a,b,m,n;
     scanf("%d,%d",&a,&b);
     _______________;   //此处调用sub函数,请填写一条语句
     printf("%d,%d,a=%d,b=%d\n",m,n,a,b);
     return 0;
}

 

Input

 

输入两个正整数,中间用逗号隔开

 

Output

 

输出最大公约数和最小公倍数以及a、b的值,中间用逗号隔开

 

Sample Input

 

15,20

 

Sample Output

 

5,60,a=15,b=20
 

#include <stdio.h>
void sub(int a,int b,int *m,int *n)
{
int i,t=0,y=0;
y=a*b;
for(i=2;i<y;i++)
{
if(i%b==0&&i%a==0)
{
t=i;
break;
}
}
*n=t;
*m=y/t;
}
int main()

{
void sub(int a,int b,int *m,int *n); //这里需要填写代码
int a,b,m,n;
scanf("%d,%d",&a,&b);
sub(a,b,&m,&n); //此处调用sub函数,请填写一条语句
printf("%d,%d,a=%d,b=%d\n",m,n,a,b);
return 0;
}

 
 

Description

主函数输入两个正整数a、b,由被调函数做如下操作:从大数上减掉一半的数值加在小数上,使小数增大,然后反过来再操作一次。最后在主函数中输出操作后a、b的值。
如:键盘输入9,7,则第一次操作后两个数变成:5,11,第二次操作后变成:10,6
主函数已在后台,只是其中缺少一行函数调用的代码。请你编写被调函数,并在主函数中填写所缺代码
系统已有代码:
#include <stdio.h>
int main()
{
    int a,b;
    scanf("%d,%d",&a,&b);
    //此处需要添加函数调用的代码

    printf("%d,%d\n",a,b);
    return 0;
}
注:考试系统中会出现两个空,第一个空中填写被调函数的代码,第二个空中填写主函数所缺的一行代码。被调函数的代码将出现在系统已有的代码之前

Input

任意两个整数

Output

输出处理后的两个数

Sample Input

9,7

Sample Output

10,6
 

#include <stdio.h>
void sub(int *c,int *d)
{
if(*c>=*d)
{
*d+=*c/2;
*c-=*c/2;
*c+=*d/2;
*d-=*d/2;
}
else
{
*c+=*d/2;
*d-=*d/2;
*d+=*c/2;
*c-=*c/2;
}
}

int main()
{
int a,b;
scanf("%d,%d",&a,&b);
sub(&a,&b);
printf("%d,%d\n",a,b);
return 0;
}

 
 

 

posted @ 2019-04-23 22:11  鹿汐  阅读(865)  评论(0编辑  收藏  举报