注册 登录
编程论坛 C++教室

c语言编程 求圆环面积

托克拉克 发布于 2021-03-12 09:35, 2455 次点击
从键盘输入圆环的外内半径值,编程序计算圆环的面积。要求π的取值为3.1415926,输入与输出均采用双精度。

输入格式:
输入两个数,输入的两个数用逗号分隔,第一个数为外圆半径,第二个数为内圆半径。

输出格式:
输出圆环面积,且保留小数点后4位。
3 回复
#2
cwa99582021-03-13 11:31
程序代码:
#include "stdafx.h"
#include<iostream>               
#include<iomanip>
using namespace System;
using namespace std;            

int main(array<System::String ^> ^args)
{
    double r1,r2,s;
    double pi=3.1415926;
    Console::WriteLine(L"Hello World");
    cout<<"计算圆环的面积:\n";
    cout<<"输入外圆半径r1:";
    cin>>r1;
    cout<<"输入内圆半径r2:";
    cin>>r2;
    s=(r1*r1-r2*r2)*pi;
    cout<<"圆环的面积是:"<<setiosflags(ios::fixed)<<setprecision(4)<<s<<"\n";

    system("pause");
    return 0;
}


[此贴子已经被作者于2021-3-13 12:23编辑过]

#3
rjsp2021-03-15 08:56
按标准写是
程序代码:
#include <iostream>
#include <iomanip>
#include <numbers>
using namespace std;

int main( void )
{
    double outer, inner;
    cout << "输入两个数,输入的两个数用逗号分隔,第一个数为外圆半径,第二个数为内圆半径" << endl;
    if( char comma; !(cin>>outer) || !(cin>>comma && comma==',') || !(cin>>inner) )
    {
        cerr << "输入格式错误.";
        return 1;
    }

    double area = (outer*outer - inner*inner) * numbers::pi;
    cout << setiosflags(ios::fixed) << setprecision(4) << area << endl;
}


按题目写的话,则去掉 #include <numbers> 并改 numbers::pi 为 3.1415926;
如果你用的编译器很古老,还应该将 if( char comma; 中的 char comma; 定义到if外面;
另外,题目中很多信息没交代,比如 输入的外圆半径小于内圆半径怎么办?比如 输入格式不正确怎么办? 如果保证输入正确的话,那都可以省略掉
程序代码:
#include <cstdio>

int main( void )
{
    double a, b;
    scanf( "%lf ,%lf", &a, &b );
    printf( "%.4f\n", (a*a-b*b)*3.1415926 );
}

#4
托克拉克2021-03-15 11:15
最后的答案是
#include <stdio.h>

int main( void )
{
    double a, b;
    scanf( "%lf ,%lf", &a, &b );
    printf( "%.4f\n", (a*a-b*b)*3.1415926 );
    return 0;
}
1