: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;
} |
|