A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

© 董月峰 高级黑马   /  2014-2-28 10:08  /  1349 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

#include <stdio.h>

int add();//求和
int minus();//差
int multiply();//积
double divide(); //商
int remainder(); //余数
int main()//主函数负责输入输出
{
        int a,b;
        printf("请输入2个数:\n");
        scanf("%d,%d",&a,&b);
        printf("2个数的和是:%d\n",add(a,b));
        printf("2个数的差是:%d\n",minus(a,b));
        printf("2个数的积是:%d\n",multiply(a,b));
        printf("2个数的商是:%f\n\n",divide(a,b),divide(b,a));
        printf("2个数的余数是:%d\n",remainder(a,b));
}
int add(int num1, num2)
{
        return(num1 + num2);
}
int minus(int num1, num2)
{
        if(num1 - num2>0)
        return(num1 - num2);
        else
        return(num2 - num1);
}
int multiply(int num1, num2)
{
        return(num1 * num2);
}
double divide(int num1, num2)
{
        return((num1*1.0) / num2); //2整形相除是整形,强转浮
}
int remainder(int num1, num2)
{
        if(num1 - num2>0)
        return(num1 % num2);
        else
        return(num2 % num1);
}  

评分

参与人数 1技术分 +1 收起 理由
jing迪 + 1 赞一个!

查看全部评分

5 个回复

倒序浏览
呃,刷刷写完报错27个,已经吓尿,等大神找错
回复 使用道具 举报
你的所有子函数形参少变量定义 int
int multiply(int num1, num2)改为!nt multiply(int num1, int num2)

评分

参与人数 1技术分 +1 收起 理由
jing迪 + 1 赞一个!

查看全部评分

回复 使用道具 举报
你看看你传进去的形参有没有错 add(int num1, num2),应该是add(int num1, int num2),如果还有错,那就得看你文件名或者其他有没有错
回复 使用道具 举报
#include <stdio.h>

int count(int num1, int num2, int *num3, int *num4, double *num5, int *num6);
/*
int add();//求和
int minus();//差
int multiply();//积
double divide(); //商
int remainder(); //余数
*/
int main()//主函数负责输入输出
{
        int a,b;
        printf("请输入2个数:\n");
        scanf("%d,%d",&a,&b);
        int add, minus, multiply, remainder;
        double divide;
        add= count(int num1, int num2, &minus, &multiply, &divide, &remainder);

        printf("2个数的和是%d,差是%d,积是%d,商是%f,余数是%d\n",add, minus, multiply, divide, remainder);

/*        
        printf("2个数的和是:%d\n",add(a,b));
        printf("2个数的差是:%d\n",minus(a,b));
        printf("2个数的积是:%d\n",multiply(a,b));
        printf("2个数的商是:%f\n\n",divide(a,b),divide(b,a));
        printf("2个数的余数是:%d\n",remainder(a,b));
*/
}


int count(int num1, int num2, int *num3, int *num4, double *num5, int *num6)
{
        if(num1 - num2>0)
        *num3= num1 - num2;
        else
        *num3= num2 - num1;

        *num4= num2 * num1;

        *num5= (num1*1.0) / num2;

        *num6= num2 % num1;

        return(num1 + num2);
}


/*
int add(int num1, int num2)
{
        return(num1 + num2);
}
int minus(int num1, int num2)
{
        if(num1 - num2>0)
        return(num1 - num2);
        else
        return(num2 - num1);
}
int multiply(int num1, int num2)
{
        return(num1 * num2);
}
double divide(int num1, int num2)
{
        return((num1*1.0) / num2); //2整形相除是整形,强转浮
}
int remainder(int num1, int num2)
{
        return(num1 % num2);
}
*/  
看了指针后重写试试,草稿如上,txt编写
回复 使用道具 举报
改了下程序 有几点需要你注意
1 main函数后面记得加 return 0;
2 在声明和定义函数中,不能一下定义两个形参 int add( int a ,b )这是错的
,必须得分别定义,int add(int a , int b).
3 声明中也要有形参 如 int add(int a , int b)
4 除法函数中,如果你想分别做商。printf 中得写出两个%f,来将两个商分别打印出来。
  1. #include <stdio.h>
  2. //声明中也要有形参
  3. int add(int m , int n);//求和
  4. int minus(int m , int n);//差
  5. int multiply(int m , int n);//积
  6. double divide(int m , int n); //商
  7. int remainder(int m , int n); //余数
  8. int main()//主函数负责输入输出
  9. {
  10.         int a,b;
  11.         printf("请输入2个数:\n");
  12.         scanf("%d,%d",&a,&b);
  13.         printf("2个数的和是:%d\n",add(a,b));
  14.         printf("2个数的差是:%d\n",minus(a,b));
  15.         printf("2个数的积是:%d\n",multiply(a,b));
  16.         printf("2个数的商分别是:%f\n%f\n",divide(a,b),divide(b,a));
  17.         printf("2个数的余数是:%d\n",remainder(a,b));
  18.                 //记得写上return 0
  19.                 return 0;
  20. }

  21. int add(int m ,int n)
  22. {
  23.         return m + n ;
  24. }

  25. int minus(int m ,int n)
  26. {
  27.         if (m > n)
  28.                 return m - n ;
  29.         else
  30.                 return n - m ;
  31. }
  32. double divide(int m , int n)
  33. {
  34.         if (n == 0)
  35.         {
  36.                 printf("0不能作除数\n");
  37.                 return 0;
  38.         }
  39.         else
  40.                 return m * 1.0 / n ;
  41. }

  42. int multiply(int m , int n )
  43. {
  44.         return m * n ;
  45. }


  46. int remainder(int m , int n)
  47. {
  48.         return m % n ;
  49. }
复制代码

5 、6只是建议
5 , 减法未必一定要用if的,可以如果被减数比减数大,以负数形式返回也行
6 如果涉及除法,最好有个排错机制。如果被除数是0,会出问题的
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马