大学C语言课本课后习题相应答案及详细解答
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
5-1
#include"stdio.h" void main()
{
char c1,c2;
printf("c1:");
c1=getchar();
if(c1>='a'&&c1<='z') c2=c1-32;
else if(c1>='A'&&c1<='Z') c2=c1+32;
else c2=c1;
printf("=>%c\n",c2);
}
5-2
#include"stdio.h"
void main()
{
char c;
printf("c:");
c=getchar();
if(c>='A'&&c<='Z')
if(c=='A') printf("没有前面的字母!");
else if(c=='Z') printf("没有后面的字母!!");
else printf("前面的字母=%c,后面的字母=%c",c-1,c+1);
printf("\n");
} 5-3
#include"stdio.h"
void main()
{
int s;
char g;
printf("s:");
scanf("%d",&s);
if(s>=0&&s<=100){
switch(s/10){
case 9:
case 10: g='A';break;
case 8: g='B';break;
case 7: g='C';break;
case 6: g='D';break;
default: g='E';
}
printf("g=%c\n",g);
}
else printf("成绩不在百分制范围内!\n"); }
5-4
#include"stdio.h"
void main()
{
int y,m,d,dok;
int yy,mm,dd;
printf("y,m,d:");
scanf("%d,%d,%d",&y,&m,&d);
switch(m){
case 1: case 3: case 5: case 7: case 8: case 10: case 12:
if(d>0&&d<=31) dok=4;
else dok=0;
break;
case 4: case 6: case 9: case 11:
if(d>0&&d<=30) dok=3;
else dok=0;
break;
case 2: if(y%4==0&&y%100!=0||y%400==0)
if(d>0&&d<=29)
dok=2;
else dok=0;
else
if(d>0&&d<=28)
dok=1;
else dok=0;
break;
default: dok=0;
}
if(dok==0) printf("月份或日期不对!\n");
else{
switch(dok){
case 1: if(d==28){yy=y;dd=1;mm=m+1;}
else{yy=y;dd=d+1;mm=m;}
break;
case
2:if(d==29){yy=y;dd=1;mm=m+1;}
else{yy=y;dd=d+1;mm=m;}
break;
case
3:if(d==30){yy=y;dd=1;mm=m+1;}
else{yy=y;dd=d+1;mm=m;}
break;
case 4:if(d==31)
if(m==12){yy=y+1;dd=1;mm=1;}
else
{yy=y;dd=1;mm=m+1;}
else{yy=y;dd=d+1;mm=m;}
break;
}
printf("Tomorrow:%d年%d月%d日\n",yy,mm,dd);
}
}
5-5
#include"stdio.h"
void main()
{
int a,b,c,t;
printf("a,b,c:");
scanf("%d,%d,%d",&a,&b,&c);
if(a+b>c&&b+c>a&&a+c>b){
if(a>b){t=a;a=b;b=t;}
if(a>c){t=a;a=c;c=t;}
if(b>c){t=b;b=c;c=t;}
if(a==b&&b==c) printf("等边三角形.");
else if(a==b||b==c||a==c) printf("等腰角形.");
else if(c*c==a*a+b*b) printf("直角三角形.");
else printf("任意三角形.");
printf("\n");
}
else printf("不能构成三角形!\n");
}
6-1
#include"stdio.h"
void main()
{
int a,b,m,n,k;
printf("m,n:");
scanf("%d,%d",&m,&n);
a=m;
b=n;
k=a%b;
while(k){
a=b;
b=k;
k=a%b;
}
printf("%d\n",(m*n/b));
}
6-2
#include"stdio.h"
void main()
{
int n;
int i,j,s;
printf("n=");
scanf("%d",&n);
for(i=1;i<=n;i++){
s=0;
for(j=1;j
if(i%j==0) s=s+j;
if(s==i) {
printf("%d:",i);
for(j=1;j
if(i%j==0) printf("%d ",j);
printf("\n");
}
}
} 6-3
#include"stdio.h"
#include"math.h"
void main()
{
double x,y,zd,zx,x1,x2;
zd=zx=50;
for(x=0;x<=2;x=x+0.2){
y=2*pow(x,3)-3*pow(x,4)+6*pow(x,5)-4*x+50;
if(y>zd){ zd=y;x1=x;}
if(y } printf("x=%f,max=%f\n",x1,zd); printf("x=%f,min=%f\n",x2,zx); } 6-4 #include"stdio.h" void main() { double x,sum=0,a,b,c; int i; printf("x="); scanf("%lf",&x); a=x; b=1.0; c=1.0; for(i=1;i<=10;i++){ sum=sum+a/(b*c); a=a*x*x; b=b+2; c=c*i; } printf("y(%.2lf)=%lf\n",x,sum); }