北科大C语言程序设计实验报告6.docx

上传人:b****3 文档编号:3814312 上传时间:2023-05-06 格式:DOCX 页数:21 大小:126.45KB
下载 相关 举报
北科大C语言程序设计实验报告6.docx_第1页
第1页 / 共21页
北科大C语言程序设计实验报告6.docx_第2页
第2页 / 共21页
北科大C语言程序设计实验报告6.docx_第3页
第3页 / 共21页
北科大C语言程序设计实验报告6.docx_第4页
第4页 / 共21页
北科大C语言程序设计实验报告6.docx_第5页
第5页 / 共21页
北科大C语言程序设计实验报告6.docx_第6页
第6页 / 共21页
北科大C语言程序设计实验报告6.docx_第7页
第7页 / 共21页
北科大C语言程序设计实验报告6.docx_第8页
第8页 / 共21页
北科大C语言程序设计实验报告6.docx_第9页
第9页 / 共21页
北科大C语言程序设计实验报告6.docx_第10页
第10页 / 共21页
北科大C语言程序设计实验报告6.docx_第11页
第11页 / 共21页
北科大C语言程序设计实验报告6.docx_第12页
第12页 / 共21页
北科大C语言程序设计实验报告6.docx_第13页
第13页 / 共21页
北科大C语言程序设计实验报告6.docx_第14页
第14页 / 共21页
北科大C语言程序设计实验报告6.docx_第15页
第15页 / 共21页
北科大C语言程序设计实验报告6.docx_第16页
第16页 / 共21页
北科大C语言程序设计实验报告6.docx_第17页
第17页 / 共21页
北科大C语言程序设计实验报告6.docx_第18页
第18页 / 共21页
北科大C语言程序设计实验报告6.docx_第19页
第19页 / 共21页
北科大C语言程序设计实验报告6.docx_第20页
第20页 / 共21页
亲,该文档总共21页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

北科大C语言程序设计实验报告6.docx

《北科大C语言程序设计实验报告6.docx》由会员分享,可在线阅读,更多相关《北科大C语言程序设计实验报告6.docx(21页珍藏版)》请在冰点文库上搜索。

北科大C语言程序设计实验报告6.docx

北科大C语言程序设计实验报告6

姓名

徐松松

学号

41345053

班级

计1304

说明:

1.本次上机内容分两次上机完成。

2.将本文档改名为“学号_姓名_班级_Lab6.doc”,按照本说明完成以下实验内容;

3.在下下次上机(13周)时通过课程中心提交本文档。

实验内容和实验要求(上机指导P137)

1.练习题一

运行结果截图:

思考题及问题

答案:

源程序文本(修改部分红色字体标注)

#include

voidmain()

{

charc;

printf("pleaseinputastring:

");

while((c=getchar())!

='\n')

{

if(c>='D'&&c<='Z'||c>='d'&&c<='z')

c=c-3;

elseif(c>='A'&&c<='C'||c>='a'&&c<='c')

c=(c+26)-3;

printf("%c",c);

}

printf("\n");

}

运行结果截图:

2.练习题二

运行结果截图:

思考题及问题

答案:

源程序文本(修改部分红色字体标注)

#include

voidCommonDivisor(intm,intn);

voidLowestCommonMultiple(intm,intn);

intremainder;

intlowestCommonMultiple;//全局变量

voidmain()

{

intm,n;

printf("求最大公约数和最小公倍数,请输入m和n\n");

scanf("%d%d",&m,&n);

CommonDivisor(m,n);

LowestCommonMultiple(m,n);

printf("最大公约数为%d,最小公倍数为%d\n",remainder,lowestCommonMultiple);

}

voidCommonDivisor(intm,intn)

{

inttemp;

if(n>m)

{

temp=m;

m=n;

n=temp;

}

remainder=m%n;

while((m%n)!

=0)

{

m=n;

n=remainder;

}

}

voidLowestCommonMultiple(intm,intn)

{

lowestCommonMultiple=m*n/remainder;

}

运行结果截图:

 

3.练习题三

运行结果截图:

思考题及问题:

答案:

源程序文本(修改部分红色字体标注)

#include

#include

intprime(intn);

voidmain()

{

intm,count=0;

for(m=200;m<=300;m++)

{

if(prime(m))

{

printf("%5d",m);

count++;

if(count%5==0)

printf("\n");

}

}

}

prime(intn)

{

inti;

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

if(n%i==0)break;

if(i==n)

return1;

else

return0;

}

运行结果截图:

4.练习题四

运行结果截图:

思考题及问题:

答案:

#include

#include

voidmain()

{

voidroot1(floata,floatb,floatc,floatd);

voidroot2(floata,floatb,floatc,floatd);

voidroot3(floata,floatb,floatc,floatd);

floata,b,c,d;

scanf("%f%f%f",&a,&b,&c);

d=b*b-4*a*c;

printf("theequation");

if(fabs(a)<1e-6)

printf("isnotquadratic\n");

elseif(fabs(d)<=1e-6)

root1(a,b,c,d);

elseif(d>1e-6)

root2(a,b,c,d);

else

root3(a,b,c,d);

}

voidroot1(floata,floatb,floatc,floatd)

{

floatx1,x2;

printf("hastwoequalroots:

\n");

printf("x1=x2=%8.4f\n",-b/(2*a));

}

voidroot2(floata,floatb,floatc,floatd)

{

floatx1,x2;

x1=(-b+sqrt(d)/(2*a));

x2=(-b-sqrt(d)/(2*a));

printf("hastworealroots:

\n");

printf("x1=%8.4f,x2=%8.4f\n",x1,x2);

}

voidroot3(floata,floatb,floatc,floatd)

{

floatx1,x2,jp,ip;

jp=-b/(2*a);ip=sqrt(-d)/(2*a);

printf("hastwocomplexroots:

\n");

printf("x1=%8.4f+%8.4fi\n",jp,ip);

printf("x2=%8.4f-%8.4fi\n",jp,ip);

}

自测练习

1.自测练习一

源程序文本:

(提示:

可用全局变量)

#include

#defineN8

voidmain()

{

floatSum(floata[]);

floata[N];

for(inti=0;i

{

scanf("%f",&a[i]);

}

floatsum;

sum=Sum(a);

printf("sum=%f,average=%f\n",sum,sum/N);

}

floatSum(floata[])

{

floatsum=0;

for(inti=0;i

sum+=a[i];

returnsum;

}

运行结果截图:

2.自测练习二

源程序文本:

#include

voidmain()

{

intprime(int);

printf("以大于5且小于100的偶数证明哥德巴赫猜想:

\n");

intn,count=0;

for(n=6;n<=100;n+=2)

{

for(inta=2;a<=n/2;a++)

{

if(prime(a)&&prime(n-a))

{

printf("%3d=%2d+%2d",n,a,n-a);

count++;

if(count%4==0)

printf("\n");

break;

}

}

}

}

intprime(intn)

{

for(inti=2;i

if(n%i==0)

return0;

return1;

}

运行结果截图:

3.自测练习三

源程序文本:

#include

voidmain()

{

intprime(int);

intn,a,count=0;

for(n=10;n<=99;n++)

{

a=n%10*10+a/10;

if(prime(n)&&prime(a))

{

printf("%4d",n);

count++;

if(count%4==0)

printf("\n");

}

}

printf("\n");

}

intprime(intn)

{

for(inti=2;i

if(n%i==0)

return0;

return1;

}

运行结果截图:

4.自测练习四

源程序文本:

#include

intmain()

{

intf_year(int);

intf_day(int,int,int);

intyear,month,day,number;

printf("pleaseinputyearmonthandday:

\n");

scanf("%d%d%d",&year,&month,&day);

number=f_day(year,month,day);

printf("%d年%d月%d号是这年的第%d天",year,month,day,number);

return0;

}

intf_year(intyear)

{

if(year%4==0&&year%100!

=0||year%400==0)

return1;

else

return0;

}

intf_day(intyear,intmonth,intday)

{

intnumber=0;

inta[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};

for(inti=1;i

number+=a[i];

number=number+day;

if(f_year(year)&&month>2)

number++;

returnnumber;

}

运行结果截图:

5.自测练习五

源程序文本:

(提示:

带参数的宏定义)

#include

#include

#defineSUM(a)((a)*(a)*(a)+(a)-1)

intmain()

{

floatf(intn,floatx);

floatx;

scanf("%f",&x);

printf("(x)*(x)*(x)+(x)-1=%f\n",f(1,x));

printf("(5+x)*(5+x)*(5+x)+(5+x)-1=%f\n",f(2,x));

printf("(sinx)*(sinx)*(sinx)+(sinx)-1=%f\n",f(3,x));

return0;

}

floatf(intn,floatx)

{

switch(n)

{

case1:

returnSUM(x);

case2:

returnSUM(5+x);

case3:

returnSUM(sin(x));

}

}

运行结果截图:

6.自测练习六

源程序文本:

#include

intmain()

{

intp(inti);

ints(intn);

floatf(intx,inty);

intx,y;

floatf1;

printf("pleaseinputxandy:

\n");

scanf("%d%d",&x,&y);

f1=f(x,y);

printf("f(x,y)=%f\n",f1);

return0;

}

intp(inti)

{

inty=1;

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

y=y*n;

returny;

}

ints(intn)

{

intsum=0;

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

sum+=p(i);

returnsum;

}

floatf(intx,inty)

{

floatm;

m=(float)s(x)/s(y);

returnm;

}

运行结果截图:

7.自测练习七

源程序文本:

运行结果截图:

8.自测练习八

源程序文本:

运行结果截图:

 

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 党团工作 > 入党转正申请

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2