鱼C论坛

 找回密码
 立即注册
查看: 832|回复: 3

[已解决]编写函数

[复制链接]
发表于 2021-12-9 23:34:12 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
编写已知半径求面积的函数,供主函数调用。要求在主函数中输入10个半径值,对于给
定的半径值,判别其否大于0,若大于,则输出对应的面积。

这是我打的,打到一半不知道该怎么办了。。。。求助求助
#include<stdio.h>
#define Π 3.14
int s()
{
        int r, square;
        printf("请输入半径:\n");
        scanf("%d", &r);
        square = Π * r * r;
        return 0;
}
int main(void)
{
        int a[9] = { 0 };

}
最佳答案
2021-12-10 00:01:16
本帖最后由 jackz007 于 2021-12-10 00:03 编辑
  1. #include <stdio.h>

  2. #define PI 3.14159265358979323846

  3. double s(double r)
  4. {
  5.         return (r > 0.0) ? r * r * PI : 0.0                            ;
  6. }

  7. int main(void)
  8. {
  9.         double r[10]                                                   ;
  10.         int i                                                          ;
  11.         for(i = 0 ; i < 10 ; i ++) scanf("%lf" , & r[i])               ;
  12.         for(i = 0 ; i < 10 ; i ++) {
  13.                 if(r[i] > 0) {
  14.                         printf("r = %lf , s = %lf\n" , r[i] , s(r[i])) ;
  15.                 }
  16.         }
  17. }
复制代码

        编译、运行实况:
  1. D:\00.Excise\C>g++ -o x x.c

  2. D:\00.Excise\C>x
  3. 1 2 3 4 5 6 7 8 9 10
  4. r = 1.000000 , s = 3.141593
  5. r = 2.000000 , s = 12.566371
  6. r = 3.000000 , s = 28.274334
  7. r = 4.000000 , s = 50.265482
  8. r = 5.000000 , s = 78.539816
  9. r = 6.000000 , s = 113.097336
  10. r = 7.000000 , s = 153.938040
  11. r = 8.000000 , s = 201.061930
  12. r = 9.000000 , s = 254.469005
  13. r = 10.000000 , s = 314.159265

  14. D:\00.Excise\C>
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2021-12-10 00:01:02 From FishC Mobile | 显示全部楼层
  1. #include <stdio.h>
  2. #define pi 3.14159
  3. #define area(r) r*r*pi

  4. int main() {
  5.     int nums[10] = {0}, r;
  6.     for(size_t n = 0, m = 0; n < 10; n++) {
  7.         scanf("%d", &r);
  8.         if(r > 0) nums[m++] = area(r);
  9.         }
  10.    
  11.     for(size_t n = 0; nums[n]; n++)
  12.     printf("%d ", nums[n]);
  13.     return 0;
  14. }
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-12-10 00:01:16 | 显示全部楼层    本楼为最佳答案   
本帖最后由 jackz007 于 2021-12-10 00:03 编辑
  1. #include <stdio.h>

  2. #define PI 3.14159265358979323846

  3. double s(double r)
  4. {
  5.         return (r > 0.0) ? r * r * PI : 0.0                            ;
  6. }

  7. int main(void)
  8. {
  9.         double r[10]                                                   ;
  10.         int i                                                          ;
  11.         for(i = 0 ; i < 10 ; i ++) scanf("%lf" , & r[i])               ;
  12.         for(i = 0 ; i < 10 ; i ++) {
  13.                 if(r[i] > 0) {
  14.                         printf("r = %lf , s = %lf\n" , r[i] , s(r[i])) ;
  15.                 }
  16.         }
  17. }
复制代码

        编译、运行实况:
  1. D:\00.Excise\C>g++ -o x x.c

  2. D:\00.Excise\C>x
  3. 1 2 3 4 5 6 7 8 9 10
  4. r = 1.000000 , s = 3.141593
  5. r = 2.000000 , s = 12.566371
  6. r = 3.000000 , s = 28.274334
  7. r = 4.000000 , s = 50.265482
  8. r = 5.000000 , s = 78.539816
  9. r = 6.000000 , s = 113.097336
  10. r = 7.000000 , s = 153.938040
  11. r = 8.000000 , s = 201.061930
  12. r = 9.000000 , s = 254.469005
  13. r = 10.000000 , s = 314.159265

  14. D:\00.Excise\C>
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-12-10 15:35:39 | 显示全部楼层
jackz007 发表于 2021-12-10 00:01
编译、运行实况:

三克油
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-4-25 10:17

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表