分别编与求园面积和圆周长的丽数,另编写一主函数调用之,要求主函效能输人多个圆半径,且显示相应的圆面积和周长

分别编与求园面积和圆周长的丽数,另编写一主函数调用之,要求主函效能输人多个圆半径,且显示相应的圆面积和周长

#include <iostream>
#include <string>
using namespace std;
#define pi 3.1416
double area(double r)
{
    return r * r * pi;
}
double round(double r)
{
    return r * 2 * pi;
}
int main()
{
    double r;
    while (1)
    {
        cout << "r = ? enter 0 to quit:";
        cin >> r;
        if (r < 0.00001) 
            break;
        cout << area(r) << " " << round(r) << endl;
    }
    return 0;
}

r = ? enter 0 to quit:1
3.1416 6.2832
r = ? enter 0 to quit:2
12.5664 12.5664
r = ? enter 0 to quit:3
28.2744 18.8496
r = ? enter 0 to quit:0

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 你可以参考下这个问题的回答, 看看是否对你有帮助, 链接: https://ask.csdn.net/questions/7667298
  • 这篇博客你也可以参考下:写一个判断素数的函数,在主函数输入一个整数输出是否为素数的信息
  • 除此之外, 这篇博客: 主函数尽量避免死等的延时函数中的 一、实时性的重要性 部分也许能够解决你的问题, 你可以仔细阅读以下内容或者直接跳转源博客中阅读:

    我们先来谈谈为什么单片机有时候会丢失事件。首先,我们知道单片机程序是轮询模式,是一个语句执行完以后,再执行下一条语句,整个主函数就是一个进程,进程里面就只有一个线程。那么在这种模式下,我们完成一个项目会写很多的任务,这些任务都是有顺序的执行的。那么丢失事件是如何发生的呢?我用 图一 比较简易的代码来解释。
    图一
    在这里插入图片描述

    程序分析:从图一的代码来看,一开始,没有检测到开盖事件,然后我的程序就一直往下跑。假如我的程序正在执行任务二,如果这时候,有开盖事件发生,但此时我正在执行任务二,那么我们是无法及时响应开盖事件的相应的动作。这时候,我们就丢失了一次开盖事件。

  • 您还可以看一下 易文星老师的手把手教你实现人脸识别支付系统课程中的 代码解读之模型的构建和训练之一小节, 巩固相关知识点
  • 以下回答来自chatgpt:

    如果需要一个计算圆面积和圆周长的程序,则可以使用C语言编写一个函数,该函数有一个可变参数列表,可以接收多个圆的半径,计算出圆的面积和周长,最终返回结果。

    下面是实现该函数的代码示例:

    #include <stdio.h>
    #include <stdarg.h>
    #include <math.h>
    
    // 圆面积计算函数
    double circle_area(double radius) {
        return M_PI * radius * radius;
    }
    
    // 圆周长计算函数
    double circle_perimeter(double radius) {
        return 2 * M_PI * radius;
    }
    
    // 计算多个圆面积和周长的函数
    void calculate_circles(int count, ...) {
        va_list args;
        va_start(args, count);
    
        for (int i = 0; i < count; i++) {
            double radius = va_arg(args, double);
    
            double area = circle_area(radius);
            printf("圆的半径为 %.2f 时,面积为:%.2f\n", radius, area);
    
            double perimeter = circle_perimeter(radius);
            printf("圆的半径为 %.2f 时,周长为:%.2f\n", radius, perimeter);
        }
    
        va_end(args);
    }
    
    // 测试用例
    int main() {
        calculate_circles(3, 2.5, 3.0, 4.2);
        return 0;
    }
    

    上述代码中,circle_area() 函数和 circle_perimeter() 函数分别用于计算圆的面积和周长,利用传入的圆的半径进行计算并返回结果。calculate_circles() 函数接收可变参数列表,在 for 循环中使用 va_arg() 函数逐个获取圆的半径,并调用 circle_area()circle_perimeter() 函数计算面积和周长并打印出来。

    最后在 main() 函数中调用 calculate_circles() 函数并传入多个圆的半径,即可计算出所有圆的面积和周长并输出结果


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^