吉林大学程序设计基础作业与实验参考标准答案Word格式文档下载.docx
《吉林大学程序设计基础作业与实验参考标准答案Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《吉林大学程序设计基础作业与实验参考标准答案Word格式文档下载.docx(140页珍藏版)》请在冰豆网上搜索。
{
charcIn;
scanf("
%c"
&
cIn);
if(cIn>
33&
&
cIn<
126)
{
printf("
%c,%c,%c\n"
cIn-1,cIn,cIn+1);
}
else
printf("
三个字符不都是可显示字符\n"
);
}
2.6编写程序,输入两个整数,分别求它们的和、差、积、商、余数并输出
inta,b;
intHe,Cha,Ji;
intYu;
floatShang;
\nInputTwoIntTypeNumber:
\n"
%d%d"
a,&
b);
He=a+b;
Cha=a-b;
Ji=a*b;
Yu=a%b;
Shang=float(a)/float(b);
ResultIs:
%d,%d,%d,%f,%d\n"
He,Cha,Ji,Shang,Yu);
2.9已知摄氏温度(℃)与华氏温度(℉)的转换关系是:
编写一个摄氏温度(℃)与华氏温度(℉)进行转换的程序,输入摄氏温度,输出华氏温度。
#include"
floatC,F;
请输入摄氏温度:
%f"
C);
F=9.0*C/5+32;
F=%f\n"
F);
第三章
3.1编写程序,输入一个字母,若其为小写,将其转换成相应的大写字母,然后输出。
charc1,c2;
请输入一个字母:
c1=getchar();
if((c1>
='
a'
)&
(c1<
z'
))
c2=c1-32;
%c\n"
c2);
}
elseif((c1>
A'
Z'
))
c1);
输入的不是字母!
3.9编写程序,判断给定的3位数是否为Armstrong数,Armstrong数是指其值等于它本身每位数字立方和的数,如153就是一个Armstrong数。
153=13+53+33
#include<
stdio.h>
voidmain(void)
intInData;
inta,b,c;
InputaNumber:
"
%d"
InData);
a=InData/100;
b=(InData-100*a)/10;
c=InData%10;
if(InData==a*a*a+b*b*b+c*c*c)
%d是Armstrong数\n"
InData);
%d不是Armstrong数\n"
3.10编写程序,读入一个点的坐标X,Y,计算
math.h"
floatx,y,z;
输入两个数"
%f%f"
x,&
y);
if(x>
0&
y>
0)
%f\n"
log(x)+log(y));
if(x<
sin(x)+sin(y));
y<
exp(2*x)+exp(3*y));
tan(x+y));
3.11编程序,输入一个整数,判断它能否被3、5、7整除,并输出如下信息。
(1)能同时被3、5、7整除;
(2)能同时被两个数整除,并指明是被哪两个数整除;
(3)能被一个数整除,并指明是哪个数;
(4)不能被所有3个数整除。
voidmain()
intn;
pleaseinputn:
n);
a=b=c=0;
if(n%3==0)a=1;
if(n%5==0)b=1;
if(n%7==0)c=1;
switch(a+b+c)
case3:
3,5,7"
break;
case2:
if(a==0)printf("
5,7"
if(b==0)printf("
3,7"
if(c==0)printf("
3,5"
case1:
if(a==1)printf("
only3"
if(b==1)printf("
only5"
if(c==1)printf("
only7"
break;
default:
printf("
nevercanbe!
3.20编程序,当输入数值月份时,显示相应英文月份名称。
例如当输入1时输出January,当输入5时输出May,等等。
参考答案:
voidmain(){
intx;
Pleaseinputthenumber:
scanf("
x);
switch(x){
case1:
JAN\n"
break;
case2:
FEB\n"
case3:
MAR\n"
break;
case4:
APR\n"
case5:
MAY\n"
case6:
JUN\n"
case7:
JUL\n"
case8:
AUG\n"
case9:
SEP\n"
case10:
OCT\n"
case11:
NOV\n"
case12:
DEC\n"
default:
Wrongnumber!
}
第四章
4.3利用展开式
计算ex,到第100项;
到余项小于10-8(考虑当0<
x<
1;
x<
0;
x>
1时各应该如何计算)。
voidmain(void){
inti;
floatp=1.0,sum=1.0,x;
输入x的值\n"
&
for(i=1;
i<
=100;
i++){
p=p*x/i;
sum+=p;
到第100项的结果为:
sum);
到余项小于10-8
#defineesp1e-8
fabs(p)>
=esp;
到余项小于10-8的结果为:
4.13编写程序,打印所有小于100的可以被11整除的自然数。
inti=0,n=100;
100;
i++)
if(i%11==0)
printf("
%d\n"
i);
4.16编写程序,打印所有3位的Armstrong数。
Armstrong数是指其值等于它本身每位数字立方和的数,如153就是一个Armstrong数。
inta,b,c,k=100;
while(k<
999)
a=k/100;
b=(k-100*a)/10;
c=k%10;
if(k==a*a*a+b*b*b+c*c*c)
结果是:
k);
k++;
4.19编程序,打印下图形式的数字金字塔。
1
121
12321
1234321
123454321
…………
…………………
1234567890987654321
inti,j,k,l;
for(i=1;
=10;
for(j=1;
j<
=10-i;
j++)
"
for(k=1;
k<
=i;
k++)
{
if(k==10)//或者是printf("
%2d"
k%10)
printf("
k-10);
else
for(l=i-1;
l>
0;
l--)
print