吉林大学 软件学院 C语言 作业参考答案文档格式.docx

上传人:b****5 文档编号:19447033 上传时间:2023-01-06 格式:DOCX 页数:54 大小:129.61KB
下载 相关 举报
吉林大学 软件学院 C语言 作业参考答案文档格式.docx_第1页
第1页 / 共54页
吉林大学 软件学院 C语言 作业参考答案文档格式.docx_第2页
第2页 / 共54页
吉林大学 软件学院 C语言 作业参考答案文档格式.docx_第3页
第3页 / 共54页
吉林大学 软件学院 C语言 作业参考答案文档格式.docx_第4页
第4页 / 共54页
吉林大学 软件学院 C语言 作业参考答案文档格式.docx_第5页
第5页 / 共54页
点击查看更多>>
下载资源
资源描述

吉林大学 软件学院 C语言 作业参考答案文档格式.docx

《吉林大学 软件学院 C语言 作业参考答案文档格式.docx》由会员分享,可在线阅读,更多相关《吉林大学 软件学院 C语言 作业参考答案文档格式.docx(54页珍藏版)》请在冰豆网上搜索。

吉林大学 软件学院 C语言 作业参考答案文档格式.docx

,m,n,m+n);

%d-%d=%d\n"

m,n,m-n);

%d*%d=%d\n"

m,n,m*n);

%d除以%d:

%f\n"

m,n,(float)m/n);

%d除以%d的余数:

%d\n"

m,n,m%n);

}

2.8已知摄氏温度C与华氏温度F的转换关系是

编写一个摄氏温度与华氏温度转换的程序,输入C,输出F.

floatf,c;

请输入摄氏温度的值:

\n"

%f"

c);

//输入33

//f=9*c/5+32;

//结果为91.4

f=9.0/5*c+32;

//f=9/5*c+32;

//结果为65

转换为华氏温度是:

f);

第三章分支程序设计

3.2编写程序,输入一个字母,若其为小写字母,将其转换成相应的大写字母,然后输出。

charc1;

请输入一个小写字母:

%c"

c1);

if(c1>

='

a'

&

c1<

z'

)//if(c1>

=97&

=122)

{

c2=c1-('

-'

A'

//c1=c1-32;

printf("

该字母对应的大写字母是:

%c\n"

c1);

}

else

该字符不是小写字母\n"

程序运行结果:

3.9编写程序,读入一个点的X、Y,计算

参考答案1:

math.h>

#defineEPS1e-6

floatx,y,z;

请输入x和y的值:

%f%f"

x,&

y);

if(fabs(x)<

EPS||fabs(y)<

EPS)

{

输入错误,该点在坐标轴上.\n"

return;

if(x>

0)

if(y>

0)//第一象限

z=log(x)+log(y);

else//第四象限

z=tan(x+y);

0)//第二象限

z=sin(x)+cos(x);

else//第三象限

z=exp(2*x)+exp(3*y);

z=%f\n"

z);

参考答案2:

intk 

;

if(y>

0)k=1;

//第一象限

elsek=4;

//第四象限

0)k=2;

//第二象限

elsek=3;

//第三象限

switch(k){

case1:

z=log(x)+log(y);

break;

case2:

z=sin(x)+cos(x);

case3:

z=exp(2*x)+exp(3*y);

break;

case4:

z=tan(x+y);

}

printf("

3.10编程序,输入一个整数,判断它能否被3、5、7整除,并输出如下信息。

A.能同时被3、5、7整除;

B.能同时被两个数整除,并指明是哪两个数;

C.能被一个数整除,并指明是哪个数;

D.不能被所有数整除。

参考答案0:

#include"

stdio.h"

voidmain(){

intn;

inta,b,c;

pleaseinputn:

"

%d"

a=b=c=0;

//important!

if(n%3==0)a=3;

if(n%5==0)b=5;

if(n%7==0)c=7;

switch(a+b+c){

case15:

3,5,7"

case12:

5,7"

case10:

3,7"

case8:

3,5"

case7:

only7"

break;

case5:

only5"

case3:

only3"

default:

nevercanbe!

if(n%3==0)a=1;

if(n%5==0)b=1;

if(n%7==0)c=1;

switch(a+b+c){

case3:

break;

case2:

if(a==0)printf("

if(b==0)printf("

if(c==0)printf("

case1:

if(a==1)printf("

if(b==1)printf("

if(c==1)printf("

break;

Pleaseinputaninteger:

if(n%3==0)

if(n%5==0)

{

if(n%7==0)

printf("

3,5,7\n"

else

3,5\n"

}

else

3,7\n"

3\n"

5,7\n"

5\n"

7\n"

Allnot.\n"

参考答案3:

intdata,i,count=0;

charch[3];

请输入一个整数:

data);

if(data%3==0){ch[count]='

3'

count++;

if(data%5==0){ch[count]='

5'

if(data%7==0){ch[count]='

7'

能被其中的%d个数整除,分别是:

count);

for(i=0;

i<

count;

i++)

%c"

ch[i]);

编程序,当输入数值月份时,显示相应英文月份名称。

例如当输入1时输出January,当输入5时输出May,等等。

voidmain(){

intx;

Pleaseinputthenumber:

scanf("

x);

switch(x){

January\n"

break;

February\n"

March\n"

April\n"

case5:

May\n"

case6:

June\n"

case7:

July\n"

case8:

August\n"

case9:

September\n"

case10:

October\n"

case11:

November\n"

case12:

December\n"

default:

Wrongnumber!

(枚举类型)

enumTMonth{January,February,March,April,May,June,July,August,September,October,November,December,Wrong}month;

//声明枚举类型的变量

intx;

switch(x){

case1:

month=January;

case2:

month=February;

case3:

month=March;

case4:

month=April;

case5:

month=May;

case6:

month=June;

case7:

month=July;

case8:

month=August;

case9:

month=September;

case10:

month=October;

case11:

month=November;

case12:

month=December;

default:

month=Wrong;

}

month);

//输出的是month的数值,而不是英文单词

参考答案3:

(字符数组)

string.h"

charmonth[20];

strcpy(month,"

January"

February"

March"

April"

May"

June"

July"

August"

Septemberv"

strcpy(month,"

Octoberv"

Novemberv"

December"

Wrong"

%s\n"

//输出的是英文单词

第四章循环程序设计

4.1利用展开式

计算

,分别:

到第100项;

到余项小于

(考虑当0<

x<

1;

0;

x>

1时应该如何计算)。

(1)到100项:

inti=0;

floatx,result=1.0,item=1.0;

请输入x的值:

while(i<

=99)

i++;

item=item*x/i;

result+=item;

theresultis%g\n"

result);

(2)到余项小于

:

#defineeps1e-8

#defineE3//e=2.71828182845904...

{inti=0;

doublex,result=1.0,item=1.0;

doubleRn;

//余项

%lf"

if(x<

=0)//余项中exp(x)中的x取0

Rn=item*x/i;

elseif(x>

0&

=1)//余项中exp(x)中的x取1

Rn=E*item*x/i;

else//x>

1

Rn=pow(E,x)*item*x/i;

while(fabs(Rn)>

eps)

{

if(x<

=0)

Rn=item*x/i;

elseif(x>

=1)

Rn=E*item*x/i;

else

Rn=pow(E,x)*item*x/i;

};

theresultis%.20g\n"

4.8

略(简单)

4.12编写程序,打印所有3位的Armstrong数,Armstrong数是指其值等于它本身每位数字立方和的数,如153就是一个Armstrong数。

#include<

{inti,bit0,bit1,bit2,tmp0;

for(i=100;

999;

bit0=i%10;

tmp0=i/10;

bit1=tmp0%10;

bit2=tmp0/10;

if(bit0*bit0*bit0+bit1*bit1*bit1+bit2*bit2*bit2==i)

printf("

i);

}

{intbit0,bit1,bit2,tmp0;

for(bit2=1;

bit2<

9;

bit2++)

for(bit1=0;

bit1<

bit1++)

for(bit0=0;

bit0<

bit0++)

if(bit0*bit0*bit0+bit1*bit1*bit1+bit2*bit2*bit2==bit0+bit1*10+bit2*100)

printf("

bit0+bit1*10+bit2*100);

4.16编程序,打印下图形式的数字金字塔。

121

12321

1234321

123454321

…………

…………………

1234567890987654321

inti,j,k,l;

for(i=1;

=10;

i++)//控制行数

for(j=1;

j<

=10-i;

j++)//打印左边黑色部分

"

for(k=1;

k<

=i;

k++)

if(k==10)//第10行

%2d"

k-10);

k);

for(l=i-1;

l>

l--)//打印右边蓝色部分

l);

4.18

第五章模块化程序设计――函数

5.1编写程序计算

其中:

//函数定义

floatf(floatv,floatw)

return(w+v)/(7*v);

floatp(floatu)

return(f(u*0.3,u)+u/2)/(2*u);

floaty(floatx)

return(p(x)*p(x)+5*x)*p(x+2)/(p(x+5)-sqrt(x));

{floatx,result;

Pleaseenterx:

result=y(x);

//函数调用

Theresultis:

5.2编写程序,输入实数a,b,c的值,计算并输出以下算式的值。

#defineN4.25

floatf(float);

//函数的声明

{floata,b,c,tmp,result;

Pleaseenterthevalueofa,b,c:

%f%f%f"

a,&

b,&

tmp=a+b;

result=(N*tmp+f(tmp))/(N+f(c));

//函数的调用

floatf(floatm)//函数的定义

{returnlog(m+sqrt(m)+1/m);

5.6分别编写函数,检测一个字符是否为空格、数字、元音字母。

boolisSpace(charc)

{if(c=='

'

returntrue;

returnfalse;

boolisDigital(charc)

{if(c>

'

0'

c<

9'

boolisVowel(charc)

||c=='

e'

i'

o'

u'

E'

I'

O'

U'

{charvar;

Pleaseenteraletter:

var);

if(isSpace(var))//函数调用

%cisaspace.\n"

var);

elseif(isDigital(var))

%c

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

当前位置:首页 > 总结汇报 > 工作总结汇报

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1