鱼C论坛

 找回密码
 立即注册
查看: 4200|回复: 3

求甲鱼老师c语言47课时实战演练代码

[复制链接]
发表于 2012-10-18 18:42:36 | 显示全部楼层 |阅读模式
3鱼币
48课时好像没有代码也提到讲解
题目是这样的
设一个函数process,在调用它的时候,每次实现不同的功能。
输入a,b两个数,第一次调用process时找出a和b中的大者,第二次找出其中小者,第三次求a与b之和。
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2012-10-18 18:42:37 | 显示全部楼层
  1. #include <stdio.h>

  2. void process( int a, int b );

  3. int main(){
  4.         process(1,2);
  5.         process(1,2);
  6.         process(1,2);
  7. }

  8. void my_max( int a, int b ) { printf( "最大值是:%d\n",a>b?a:b) ; }
  9. void my_min( int a, int b ) { printf( "最小值是:%d\n",a<b?a:b) ; }
  10. void my_sum( int a, int b ) { printf( "和是:%d\n",a+b) ; }
  11. void process( int a, int b ) {
  12.         static unsigned int cnt = 0;
  13.         switch( cnt%3 ){
  14.         case 0: my_max(a,b);break;
  15.         case 1: my_min(a,b);break;
  16.         case 2: my_sum(a,b);break;
  17.         }
  18.         cnt=(cnt+1)%3;
  19. }
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2012-10-18 23:59:52 | 显示全部楼层

谢谢
已经做出来了 题目要求要利用指向函数的指针 是我没讲清楚题意
这是我的代码:
#include <stdio.h>

int max(int x,int y);
int min(int x,int y);
int add(int x,int y);
int process(int x,int y,int(*fun)());

int main()
{
    int a,b;

    printf("Endter a and b:");
    scanf("%d %d",&a,&b);

    printf("max = ");
    process(a,b,max);

    printf("min = ");
    process(a,b,min);

    printf("add = ");
    process(a,b,add);
}

int process(int x,int y,int(*fun)())
{
    int p;
        p=(*fun)(x,y);
        printf("%d ",p);
}

int max(int x,int y)
{
    int z;
    z=x>y?x:y;
    return z;
}
int min(int x,int y)
{
    int z;
    z=x<y?x:y;
    return z;
}
int add(int x,int y)
{
    int z;
    z=x+y;
    return z;
}
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2013-8-21 19:58:57 | 显示全部楼层
谢谢楼主分享!
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-11-15 18:24

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表