运算符作业

来源:互联网 发布:怎么在淘宝上买av种子 编辑:程序博客网 时间:2024/05/22 02:09

作业描述:
这里写图片描述

参考代码:

#include <stdio.h>int GetAbsoluteValue(int num)//求绝对值{    return num > 0 ? num : -num;}double GetAbsoluteValue2(double num){    return num > 0 ? num : -num;}double GetSqrt(double num){    //此题进行一下扩展,原题是输入正整数,为了更加通用,改成输入一个正数    const double eps = 1e-12;//定义结果的精度    double x = 0, y = num / 2;    while (GetAbsoluteValue2(y - x) >= eps)    {        x = y;        y = (x + num / x) / 2;    }    return x;}void CalculateQuotientAndReminder(int dividend, int divisor){    //思路:先判断符号是否同号,然后比较绝对值,然后不停的减去除数    int quotient = 0;    int remainder = 0;    if (0 == divisor)    {        printf("除数不能为0\n");        return;    }    if (dividend * divisor < 0) //表示异号    {        while (GetAbsoluteValue(dividend) >= GetAbsoluteValue(divisor))        {            dividend += divisor;            quotient--;        }    }    else    {        while (GetAbsoluteValue(dividend) >= GetAbsoluteValue(divisor))        {            dividend -= divisor;            quotient++;        }    }    remainder = dividend;    printf("商=%d\n", quotient);    printf("余数=%d\n", remainder);}int main(){    double Radius;    const double Pi = 3.1415926;    int dividend;    int divisor;    double sqrtnum;    printf("-----------------------------------必做作业1:----------------------------------\n");    printf("-7%%2=%d\n", (-7) % 2);    printf("7%%-2=%d\n", 7 % (-2));    printf("\n");    printf("-----------------------------------必做作业2:----------------------------------\n");    printf("输入圆的半径: ");    scanf_s("%lf", &Radius);    printf("圆的面积=%.6lf\n", Pi * Radius * Radius);    printf("\n");    printf("-----------------------------------选做作业1:----------------------------------\n");    printf("输入被除数: ");    scanf_s("%d", &dividend);    printf("输入被除数: ");    scanf_s("%d", &divisor);    CalculateQuotientAndReminder(dividend, divisor);    printf("\n");    printf("-----------------------------------选做作业2:----------------------------------\n");    printf("输入被开平方根的数: ");    scanf_s("%lf", &sqrtnum);    printf("开根结果=%.10lf\n", GetSqrt(sqrtnum));    return 0;}

输出结果:
这里写图片描述

3 0
原创粉丝点击