You are on page 1of 7

徐州工程学院

《程序设计基础》
实验报告
(2019-2020 学年 第 一 学期)

课程名称 程序设计基础
开课学院 信电工程学院
指导教师 陆杨
学生学号 20190505224
学生姓名 彭博
专业班级 19 计嵌 2

姓 名 彭博 班 级 19 计嵌 2 学 号 20190505224

时 间 10.31 地 点 敬信楼 501

实验名称 实验三 学 时 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;

printf("Input money: ");

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;

}
运行结果截图:

实验题目 4:输入一个正整数 n,再输入 n 个整数,输出最小值。

源代码:

#include<stdio.h>

int main()

int n,min,a;

printf("Input n: ");

scanf("%d",&n);

printf("Input numbers: ");

scanf("%d",&min);

n--;

while(n--){

scanf("%d",&a);

if(a<min)

min=a;

printf("min=%d\n",min);
return 0;

运行结果截图:

实验题目 5:输入一个整数,求它的位数以及各位数字之和。例如, 123 的位数是 3,各位


数字之和是 6。

源代码:

#include<stdio.h>

int main()

int n,i,sum=0,a[n];

printf("Input an integer: ");

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

运行结果截图:

二、实验总结(包括问题和解决方法、心得体会、意见与建议等)
不能灵活的运用循环语句,还是存在粗心大意的问题。
应多加练习,自己找题目做。
程序其实不难,只要肯花时间去练习,还是能学好的。
多看视频多练习。
实验评语 成绩:
日期: 年 月 日 教师:

You might also like