Professional Documents
Culture Documents
《程序设计基础》
实验报告
(2019-2020 学年 第 一 学期)
课程名称 程序设计基础
开课学院 信电工程学院
指导教师 陆杨
学生学号 20190505224
学生姓名 彭博
专业班级 19 计嵌 2
姓 名 彭博 班 级 19 计嵌 2 学 号 20190505224
实验名称 实验三 学 时 2
实验题目 1:给定一个精度值 e,用下列公式计算 π 的近似值,要求前后两次 π 的迭代之
差的绝对值小于 e,给出相应的最小迭代次数 n 和最后一次计算的 π 的值。
π/2=1+1!/3+2!/(3×5)+3!/(3×5×7)+…+(n-1)!/(3×5×7×…×(2n-1))
源代码:
#include<stdio.h>
int main()
double a=1.0,b=1.0;
int n=1;
double e,num=1.0,test;
scanf("%lf",&e);
do
n++;
a*=(n-1);b*=(2*n-1);
test=a/b;
num+=test;
while ((2*test)>=e);
printf("%d %.7f",n,2*num);
return 0;
运行结果截图:
实验题目 2:将一笔钱(大于 8 分,小于 1 元,精确到分)换算成 1 分、2 分和 5 分的硬币
组合。输入金额,问有几种换算方法?要求每种硬币至少有一枚。
源代码:
#include<stdio.h>
int main()
float m,one,two,five;
int cot=0;
scanf("%f",&m);
for(one=1;one<m;one++){
for(two=1;two<m/2;two++){
for(five=1;five<m/5;five++){
if(one+two*2+five*5==m){
cot++;
printf("count=%d",cot);
return 0;
运行结果截图:
实验题目 3:输入一个正整数 n,输出 2/1 + 3/2 + 5/3 + 8/5 + …的前 n 项之和,保留 2 位
小数(该序列从第二项起,每一项的分子是前一项分子与分母的和,分母是前一项的分
子)。
源代码:
#include<stdio.h>
int main()
int n,a,m1;
double t1=2,t2=1,sum;
printf("Input n: ");
scanf("%d",&n);
sum=2;
for(a=2;a<=n;a++){
m1=t1;
t1=t1+t2;
t2=m1;
sum+=t1/t2;
printf("s=%.2lf",sum);
return 0;
}
运行结果截图:
源代码:
#include<stdio.h>
int main()
int n,min,a;
printf("Input n: ");
scanf("%d",&n);
scanf("%d",&min);
n--;
while(n--){
scanf("%d",&a);
if(a<min)
min=a;
printf("min=%d\n",min);
return 0;
运行结果截图:
源代码:
#include<stdio.h>
int main()
int n,i,sum=0,a[n];
scanf("%d",&n);
if(n<0){
n=-n;
for(i=0;n>0;i++){
a[i]=n%10;
n/=10;
sum+=a[i];
printf("count=%d sum=%d",i,sum);
运行结果截图:
二、实验总结(包括问题和解决方法、心得体会、意见与建议等)
不能灵活的运用循环语句,还是存在粗心大意的问题。
应多加练习,自己找题目做。
程序其实不难,只要肯花时间去练习,还是能学好的。
多看视频多练习。
实验评语 成绩:
日期: 年 月 日 教师: