本文目录一览:
c语言第三版课后习题答案
1.5请参照本章例题,编写一个C程序,输出以下信息:
**************************
Very Good!
**************************
解:
mian()
{printf(“**************************”);
printf(“\n”);
printf(“Very Good!\n”);
printf(“\n”);
printf(“**************************”);
}
1.6 编写一个程序,输入a、b、c三个值,输出其中最大值。
解:
mian()
{int a,b,c,max;
printf(“请输入三个数a,b,c:\n”);
scanf(“%d,%d,%d”,a,b,c);
max=a;
if(maxb)
max=b;
if(maxc)
max=c;
printf(“最大数为:“%d”,max);
}
第三章
3.6写出以下程序运行的结果。
main()
{char c1=’a’,c2=’b’,c3=’c’,c4=’\101’,c5=’\116’;
printf(“a%cb%c\tc%c\tabc\n”,c1,c2,c3);
printf(“\t\b%c %c”,c4,c5);
}
解:
aaㄩbbㄩㄩㄩccㄩㄩㄩㄩㄩㄩabc
AㄩN
3.7 要将"China"译成密码,译码规律是:用原来字母后面的第4个字母代替原来的字母.例如,字母"A"后面第4个字母是"E"."E"代替"A"。因此,"China"应译为"Glmre"。请编一程序,用赋初值的方法使cl、c2、c3、c4、c5五个变量的值分别为,’C’、’h’、’i’、’n’、’a’,经过运算,使c1、c2、c3、c4、c5分别变为’G’、’l’、’m’、’r’、’e’,并输出。 -c语言课后答案
解:
#include stdio.h
main()
{ char c1=’C’,c2=’h’,c3=’i’,c4=’n’,c5=’a’;
c1+=4;
c2+=4;
c3+=4;
c4+=4;
c5+=4;
printf("密码是%c%c%c%c%c\n",c1,c2,c3,c4,c5);
}
运行结果:
密码是Glmre
3.9求下面算术表达式的值。
(1)x+a%3*(int)(x+y)%2/4
设x=2.5,a=7,y=4.7
(2)(float)(a+b)/2+(int)x%(int)y
设a=2,b=3,x=3.5,y=2.5
(1)2.5
(2)3.5
3.10写出程序运行的结果。
main()
{int i,j,m,n;
i=8;
j=10;
m=++i;
n=j++;
printf(“%d,%d,%d,%d”,i,j,m,n);
}
解:
9,11,9,10
3.12 写出下面表达式运算后a的值,设原来a=12。设a和n都已定义为整型变量。
(1)a+=a (2) a-=2 (3) a*=2+3 (4)a/=a+a
(5) a%=(n%=2),n的值等于5
(6)a+=a-=a*=a
解:
(1) 24 (2) 10 (3) 60 (4) 0 (5) 0 (6) 0
急求!!C语言课后习题答案!2
以前上课的时候不想做,现在很想补下,很后悔没好好学习呢~希望楼主好好努力
第4道1):
#includestdio.h
void main(void)
{
int i,j,a[80],max,max_i;
printf("please input 10 num!\n");
for(i=0;i10;i++)
scanf("%d",a[i]);
printf("the 10 num is:\n");
for(i=0;i10;i++)
printf("%d\t",a[i]);
for(max=a[0],i=0;i10;i++)
{
if(maxa[i])
{
max=a[i];
max_i=i;
}
}
printf("the max num is:a[%d]=%d\n",max_i+1,max);
getch();
}
2)道:
#includestdio.h
void main(void)
{
int a[3][2],i,j,sum[3];
for(i=0;i3;i++)
{
printf("please input the score of the student %d\n",i+1);
scanf("%d%d",a[i][0],a[i][1]);
sum[i]=a[i][0]+a[i][1];
}
for(i=0;i3;i++)
{
printf("the score of the student %d is:%d\t%d\n",i+1,a[i][0],a[i][1]);
printf("the sum score of the student %d is:%d\n",i+1,sum[i]);
}
getch();
}
3)道:
#includestdio.h
#includestring.h
main()
{
int i;
char string1[80],string2[80];
printf("please input the string 1\n");
scanf("%s",string1);
printf("please input the string 2\n");
scanf("%s",string2);
if(strcmp(string1,string2)==0)
printf("the 2 string is the same\n");
else
printf("the 2 string is different\n");
getch();
}
第5道:
#includestdio.h
main()
{
float c,f;
printf("please input the F\n");
scanf("%f",f);
c=(f-32)*5/9;
printf("the convert result is:%.2f\n",c);
getch();
}
小问:
float convert(float a)
{
float b;
b=(a-32)*5/9;
return b;
}
main()
{
float c,f;
printf("please input the F\n");
scanf("%f",f);
c=convert(f);
printf("the convert result is %.2f\n",c);
getch();
}
第6道:
#includestdio.h
main()
{
int x,y,*p1,*p2;
printf("please input the 2 nums;\n");
scanf("%d%d",x,y);
swap1(x,y);
printf("the swap1 result is:%d\t%d\n",x,y);
p1=x;
p2=y;
swap2(p1,p2);
printf("the swap2 result is:%d\t%d\n",*p1,*p2);
getch();
}
swap1(int x,int y)
{
int temp;
temp=x;
x=y;
y=temp;
}
swap2(int *p1,int *p2)
{
int temp;
temp=*p1;
*p1=*p2;
*p2=temp;
}
6.2)
#include stdio.h
void main()
{
char s[80];/*定义一个数组*/
char c;
printf("which style you want to:\n");/*是\不是|*/
printf("capital ( c ) or uncapital(a):");
c=getchar();
if(c=='c')/*是==不是=*/
strcpy(s,"COMPUTER");
else
strcpy(s,"computer");
puts(s);
getch();
}
第七道
struct student
{
char num[8];
char name[80];
float score;
}stu[4];
main()
{
int i,max,max_i;
for(i=0;i4;i++)
{
printf("input the num of student %d\n",i+1);
scanf("%s",stu[i].num);
printf("input the name of student %d\n",i+1);
scanf("%s",stu[i].name);
printf("input the score of student %d\n",i+1);
scanf("%f",stu[i].score);
}
for(max=stu[0].score,i=0;i4;i++)
{
if(maxstu[i].score)
{
max=stu[i].score;
max_i=i;
}
}
printf("the highest score student is student%d\n",max_i+1);
printf("%s\t%s\t%.2f\n",stu[max_i].num,stu[max_i].name,stu[max_i].score);
getch();
}
第八道:
Java的行不,C++的不记得了。
public class Circle
{
private static double PI=3.14
private double radius;
public Circle(double radius)
{
this.radius=radius;
}
public double Area()
{
return PI*radius*radius;
}
public double Perimeter()
{
return 2*PI*radius;
}
}
c语言课后题答案
第一题
#includestdio.h
void main()
{ int i;
int count=1;
printf("请输入数据:");
scanf("%d",i);
printf("逆序输出结果为:");
while(i/10)
{printf("%d ",i%10);
count++;
i=i/10; }
printf("%d\n",i%10);
printf("它是%d位数\n",count);
}
第二题
#includestdio.h
int fact(int n)
{
int i;
int f=1;
for(i=1;i=n;i++)
f*=i;
return f;
}
float sum(int n)
{
float sum1=0;
int i;
for(i=1;i=n;i++)
sum1+=1.0/fact(i);
return sum1;
}
void main()
{ int i;
float total;
printf("请输入数据:");
scanf("%d",i);
total=sum(i);
printf("结果为:");
printf("%.5f ",total);
}
上面两个程序已经上机通过了。。。