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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

:o//7、 输入两个数,打印(printf)这两个数的和、差、积、商、以及余数。



#import <Foundation/Foundation.h>

#import <stdio.h>
//为了引入求余函数fmod故加入math.h头文件
#import <math.h>



int main(int argc, const char * argv[])
{
    @autoreleasepool {

        //提示用户输入数据

        printf("请输入两个整数,并以逗号隔开\n");



        //定义两个变量用于存放用户输入的数据


        double a, b;


        //接收用户输入



        scanf("%lf,%lf",&a,&b);


        //打印输出运算结果



        printf("它们的和为:%lf\n",a+b);


        printf("它们的差为:%lf\n",a-b);


        printf("它们的积为:%lf\n",a*b);


        printf("它们的商为:%lf\n",a/b);


        //调用fmod求余,适用于int,double,float


        printf("它们的余为:%lf\n",fmod(a,b));
    }
    return 0;
}

第二种方法,比较高档

/*



8、 输入两个数,打印(printf)这两个数的和、差、积、商、以及余数。(C语言编程题)



*/



#include <stdio.h>
//定义一个函数,用于计算两个数的和、差、积、商
void heAndChaAndJiAndShangAndYu(int num1, int num2, int *he, int *cha, int *ji, float *shang, float *yu)
{
    //将num1 + num2的结果赋值给指针变量he所指向的存储单元(即(num1 + num2)的结果的存储单元)
    *he = num1 + num2;
   
    //将num1 - num2的结果赋值给指针变量cha所指向的存储单元(即(num1 - num2)的结果的存储单元)
    *cha = num1 - num2;
   
    //将num1 * num2的结果赋值给指针变量ji所指向的存储单元(即(num1 * num2)的结果的存储单元)
    *ji = num1 * num2;
   
    //将num1 / num2的结果赋值给指针变量shang所指向的存储单元(即(num1 / num2)的结果的存储单元)
    *shang = num1 / num2;
   
    //将num1 % num2的结果赋值给指针变量yu所指向的存储单元(即(num1 % num2)的结果的存储单元)
    *yu = num1 % num2;
   
}
int main (int argc, const char * argv[])
{
    //定义整型变量a,b并初始化为0,
    int a = 0;
    int b = 0;
    //定义整型变量he,cha并初始化为0,ji 初始化为-1
    //定义float类型变量shang,yu,并初始化为-1
    int he = 0, cha = 0, ji = -1;
    float  shang = -1, yu = -1;
   
    //提示用户输入两个整数,用逗号隔开
    printf("请输入两个整数(用逗号隔开):\n");
    //接收用户输入的两个整数
    //此处整形变量前面一定要加取地址运算符&
    scanf("%d,%d", &a, &b);
   
    //调用函数,计算和、差、积、商和余数,这时a,b的值分别传递到函数的形参num1,num2;
    //he,cha,ji,shang,yu的地址传递给被调函数(地址传递)
    heAndChaAndJiAndShangAndYu(a, b, &he, &cha, &ji, &shang, &yu);
         
    printf("%d+%d = %d\n", a, b, he);
    printf("%d-%d = %d\n", a, b, cha);
    printf("%d*%d = %d\n", a, b, ji);
    printf("%d/%d = %.2f\n", a, b, shang);
    //printf函数打印 % 字符要用 %% 才能打印
    printf("%d%%%d = %.2f\n", a, b, yu);
   
    return 0;
}

1 个回复

倒序浏览
指针作为函数形参,通过就该形参可以间接的改变外面实参的值,有了指针我们就能写出一个含有多个返回值的函数
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马