南京邮电大学 高级语言程序设计 第五章 函数的基本知识 MOOC编程作业

1

求圆锥体的体积和表面积(10分)

题目内容:

编写两个函数,分别求圆锥体的体积和表面积。从main函数中输入圆锥体的高和半径,调用两个自定义函数分别求出对应的体积和表面积,并输出完整信息。

提示: 圆周率取3.14

输入格式:

scanf("%lf%lf",&r,&h);//要求输入两个实数,表示圆锥体的高和半径

输出格式:

输出圆锥体的半径、高、表面积和体积

printf语句中的格式串请复制  "radius=%lf, height=%lf, Area of surface=%lf, Volume=%lf\n"

输入样例:

6 8

输出样例:

radius=6.000000, height=8.000000, Area of surface=301.440000, Volume=301.440000

#include "stdio.h"
#include "math.h"
#define PI 3.14

double Get_Area_of_surface(double r,double h)
{
    double result;
    result = PI * r * r + PI * r * sqrt(r * r + h * h);
    return result;
}

double Get_Volume(double r,double h)
{
    double result;
    result = PI * r * r * h / 3;
    return result;
}
int main()
{
    double r,h,m,n;
    scanf("%lf%lf",&r,&h);
    m = Get_Area_of_surface(r,h);
    n = Get_Volume(r,h);
    printf("radius=%lf, height=%lf, Area of surface=%lf, Volume=%lf\n",r,h,m,n);
    return 0;
}

2

验证哥德巴赫猜想之一(10分)

题目内容:

编写程序:验证哥德巴赫猜想之一—— 2000以内的正偶数(大于等于4)都能够分解为两个质数之和。每个偶数表达成形如:4=2+2的形式,请每行输出4个偶数及其分解结果。

提示:每一个偶数可能存在多种分解表达形式,但是只要求出第一种分解就停止求其他分解,
输出结果中每一个偶数只给出一种分解的表达

输入格式:

输出格式:

单个表达式用以下格式字符串输出:

"%4d=%4d+%4d"

每行输出4个,每个表达式的后面要输出一个空格与后面的表达式进行分割,但本行的第4个表达式后不能有空格,要直接换行。

注意:最后一行输出有可能不足4个表达式,则该行最后一个表达式的后面仍然要输出一个空格。

输入样例:

输出样例:

   4=   2+   2    6=   3+   3    8=   3+   5   10=   3+   7

  12=   5+   7   14=   3+  11   16=   3+  13   18=   5+  13

  20=   3+  17   22=   3+  19   24=   5+  19   26=   3+  23

……

1980=   7+1973 1982=   3+1979 1984=   5+1979 1986=   7+1979

1988=  37+1951 1990=   3+1987 1992=   5+1987 1994=   7+1987

1996=   3+1993 1998=   5+1993 2000=   3+1997 

时间限制:500ms内存限制:32000kb

#include <stdio.h>

int is_prime(int n) {
    if(n < 2) return 0;
    for(int i = 2; i * i <= n; i++) {
        if(n % i == 0) return 0;
    }
    return 1;
}

int main() {
    int cnt = 0;
    for(int i = 4; i <= 2000; i += 2) {
        for(int j = 2; j < i; j++) {
            if(is_prime(j) && is_prime(i - j)) {
                printf("%4d=%4d+%4d", i, j, i - j);
                cnt++;
                if(cnt % 4 == 0) printf("\n");
                else printf(" ");
                break;
            }
        }
    }
    return 0;
}

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值