clrscr();
printf(\ scanf(\
while(m<0){该循环确保用户输入的值大于0 可不用太关心 printf(\ scanf(\ }
printf(\调用sum函数记得传参数m getch();} 3.
#include
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
/**/ 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
int hcf(int,int);
37
int a,b,k;
printf(\ b: \
scanf(\注意scanf的格式,此处输入用空格或回车隔开 k=hcf(/**/ a,b /**/); printf(\ getch(); } 7.
#include
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
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
/**/ 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
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