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;
}