2011_C语言实验与习题l(8)

2019-03-04 16:02

clrscr();

printf(\ scanf(\

while(m<0){该循环确保用户输入的值大于0 可不用太关心 printf(\ scanf(\ }

printf(\调用sum函数记得传参数m getch();} 3.

#include void main() { double pi=0;

long i, sign=1;因累加项有正负号的变换,用乘以sign来进行控制 for(i=1;i<=10001;i+=2) {

pi+=1.0*sign/i;

sign=/**/ -sign /**/;使sign在正负1之间间替变化 }

pi*=/**/ 4 /**/;前面for循环算出的是1-1/3+1/5?再乘以4即得到pi printf(\} 4.

#include

double fun(/**/ int n /**/) 观察fun函数调用该函数传递的数值及题目可知此处应定义一个整型形参变量,变量名由函数体里未被定义的变量确定 {

double y = 0.0; int i,j;

for(i=1;i<=n;i++)

{y = y +/**/ 1.0/(8+3*i) /**/; 注意计算结果有小数部分,此处分子要写成1.0 }

return (/**/ y /**/); }

void main() {

36

clrscr();

printf(\ getch(); } 5.

#include double fun(int n) {

/**/ int i,j=1;

double sum=0;

for(i=1;i<=n;i++)求累加和咯,j控制正负号变化 {

sum+= 1.0/(i*(2*i+1))*j; 看到分数要注意到将分子或分母转化成浮点型,如1.0 j*=-1; }

return sum; /**/ }

void main() {

int n;

printf(\ scanf(\

printf(\ getch(); } 6.

#include #include void main() {

int hcf(int,int);

37

int a,b,k;

printf(\ b: \

scanf(\注意scanf的格式,此处输入用空格或回车隔开 k=hcf(/**/ a,b /**/); printf(\ getch(); } 7.

#include void main() {

int m,n;

for(m=1; /**/ m<=5; /**/ m++) 外循环控制输出5层*号,内循环控制每层如何输出*号 { printf(\

for(n=1;n<= /**/ 2*(m-1); /**/ n++) 输出*号前的空格 printf(/**/ “ ” /**/);

for(n=9;n>=m*2-1;n--) 输出每层* 号 printf(\ }

getch(); }

8. 补充程序ccon072.c,计算P?m!,其中m,n为整数且m>n>=0。

n!?m?n?!#include

double fun(unsigned m,unsigned n) {

unsigned i; double p=1.0;

for(i=1;i<=m;i++) 本循环求出m! /**/ p*=i; /**/

for(i=1;i<=n;i++) 进入循环时 p初值为m!,本循环求出m!/n! /**/ p/=i; /**/

for(i=1;i<=m-n;i++) 进入循环时 p初值为m!/n!,本循环求出m!/(n!*(m-n)!) p=p/i;

38

return p;}

void main() {clrscr();

printf(\ getch();} 9.

#include main() {

int i,m;

float x,s,tem;

printf(\ scanf(\

/**/ s=1;tem=1; /**/ 分析下面的for循环可知,累加项是从x开始的,故1应在此赋值

给s,另外tem用来存放当前的累加项,而当前累加项通过上一累加项乘x/i得到,相当于一个累乘的过程,故初始值设为1

for(i=1;/**/ i<=m /**/;i++) for循环过程中第一项为x,最后一项为xm/m! 故总共有m项

{

tem*=x/i; 得到当前的累加项 s+=tem; }

printf(\ getch(); } 10.

#include #include void main() {

/**/ int /**/ a,b,temp; 由以下scanf语句,知此处应填int整型

39

scanf(\

if (a

while /**/ (--a>b) /**/ 此处设置循环条件,a必须不断自减1来枚举区间(a,b)之间的数,同时当a==b时则不再进行判断 {

if(a%3==0) 满足条件输出数值 printf(\ }

printf(\ getch(); } 11.

#include #include void main() {

float i,j,k,s=0; for(i=0;i<=50;i++) for(j=0;j<=100;j++)

for(k=0;k<=200;k++)

if(i*2+j+k*0.5 = = 100) { s++;

printf(“cock=%f hen=%f chick=%f”,i,j,k); }

printf(“\\n the number of solutions is %f”,s);

getch(); }

40


2011_C语言实验与习题l(8).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:放射科X线辐射防护管理制度.

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: