华中科技大学标准C语言程序设计及应用习题答案.docx

上传人:b****7 文档编号:23861468 上传时间:2023-05-21 格式:DOCX 页数:50 大小:36.05KB
下载 相关 举报
华中科技大学标准C语言程序设计及应用习题答案.docx_第1页
第1页 / 共50页
华中科技大学标准C语言程序设计及应用习题答案.docx_第2页
第2页 / 共50页
华中科技大学标准C语言程序设计及应用习题答案.docx_第3页
第3页 / 共50页
华中科技大学标准C语言程序设计及应用习题答案.docx_第4页
第4页 / 共50页
华中科技大学标准C语言程序设计及应用习题答案.docx_第5页
第5页 / 共50页
点击查看更多>>
下载资源
资源描述

华中科技大学标准C语言程序设计及应用习题答案.docx

《华中科技大学标准C语言程序设计及应用习题答案.docx》由会员分享,可在线阅读,更多相关《华中科技大学标准C语言程序设计及应用习题答案.docx(50页珍藏版)》请在冰豆网上搜索。

华中科技大学标准C语言程序设计及应用习题答案.docx

华中科技大学标准C语言程序设计及应用习题答案

第二章

一、选择题

1、C  2、B D  3、A 4、A 5、 D 

6、C 7、D   8、C  9、A   10、D

11、B 12、D13、C 14、D15、A

16、B  17、A 18、B 100011001111

二、判断题

1、错

2、错

3、错

4、错

三、填空题

1、  B66

2、  n1=%d\nn2=%d\n

3、0

四、计算

(1)x|y=0x002f

(2)x^y=0x0026

(3)x&y=0x0009;

(4)~x+~y=0xffc6

(5)x<〈=30x0068

(6)y〉〉=40x0002

2

(1)6

(2)50

(3)1

(4)–16

(5)1

(6)20

3

(1)0

(2)1

(3)1

(4)4

(5)8

(6)1

4

(1)12

(2)0

(3)1

(4)27

(5)1

(6)6

(7)24

(8)27

(9)–29

5

(1)0

(2)1

(3)1

(4)–3

(5)2

五、程序分析题

程序1

b=20 a=3600  

程序2

第三章

一、填空题

1、s=6

2、96

3、

(1)scanf(”%c”,&c);

 (2)c-32更好得答案:

c—('a'-'A')

2、1

 main()

int a,b;

printf(”please inputa& b:

");

scanf(”%d%d”,&a,&b);

printf("\nmax is %d\n”,(a〉b)?

a:

b);

}

2、2

intmax(intx,inty);

main()

{

inta,b,c,max;

printf("pleaseinputa&b&c:

”);

scanf("%d%d%d”,&a,&b,&c);

max=a〉b?

a:

b;

max=c>max?

c:

max;

printf(”\nmaxis %d\n",max);

}

2、3

main()

inti=0,sum=0;

 while(i<=100)

{

 sum+=i;

i++;

 }

 printf(”1+2+3+、、、、、、+100=%d\n",sum);

}

2、4

main()

{

int i;

  inta=10,b=-3;

  intc;

 printf("%6d%6d",a,b);

 for(i=2;i〈10;i++)

{

  c=3*b+a;

 printf(”%6d",c);

  a=b;

  b=c;

}

 printf("\n”);

}ﻺ

2、5

main()

int i;

 while(1)

 {

 printf(”pleaseinputadata(0:

exit):

");

   scanf(”%d",&i);

 if(i==0)

 break;

  if(i%2==0)

  printf(”thedata%d isaevennumber、\n”,i);

 else

  printf(”thedata%disaodd number、\n”,i);

 }

2、6

#include〈stdio、h〉

main()

 int i;

 inta=8,b=1;

int sum=0;

for(i=0;i<10;i++)

  b+=3;

sum+=a;

a+=b;

  printf("a%8d  b:

%8d\n",a,b);

printf("TheSumOfIs:

%d\n",sum);

}ﻺ

2、7

#include

main()

float x,y;

 printf(”please inputx:

”);

scanf(”%f",&x);

 if(x<1、0)

  y=x;

elseif(x<10)

y=2*x-1;

else

  y=3*x-11;

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

}ﻺ

2、8

#include<stdio、h>

main()

longa,i,b,a1;

while(1)

  {

  printf("pleaseinputdata(1-99999):

");

   scanf("%ld”,&a);

 printf("a:

%ld\n",a);

if(a〈=0||a〉=100000)

 break;

 i=0;

 a1=0;

 while(a!

=0)

 {

b=a%10;

   printf(”%8d”,b);

a/=10;

  i++;

  a1=a1*10+b;

 }

 printf("\ni:

%ld a1:

%ld\n”,i,a1);

 }

2、9

#include〈stdio、h>

#include<time、h>

#include 〈stdlib、h〉

main()

{

 inta,b,i,k=0;

  randomize();

 a=random(1001);/*createarandomdata(0-1000)*/

 for(i=0;i<20;i++)

printf("pleaseguessanumber:

");

  scanf("%d",&b);

if(a>b)

 {

   k++;

  printf(”\n%d:

Smaller,guess again!

\n",k);

  }

else if(a〈b)

   k++;

   printf(”\n%d:

Bigger,guess again!

\n”,k);

else

 {

  printf(”\nYouguessright,congraturation!

");

   printf(”\nYouhaveguessed %dtimes",k);

 break;

  }

}

if(k==20)

 printf("\nsorry,youfailed!

");

}ﻺ

2、10

#include 〈stdio、h>

main()

inta,b,c;

 int num;

 for(a=0;a<10;a++)

 {

for(b=0;b<10;b++)

   for(c=1;c<10;c++)

  {

num=a*100+b*10+c;

ﻩif((num%3==0)&&(a==5||b==5||c==5))

printf("%8d”,num);

 }

 }

 }

printf(”\n\n\n");

2、11

#include<stdio、h〉

main()

{

 inti;

 inta,b;

printf(”pleaseinputa,b:

");

scanf("%d%d",&a,&b);

for(i=a〈b?

a:

b;i>0;i—-)

if(a%i==0&&b%i==0)

 {

 printf("The max=%d",i);

 break;

}

}

 for(i=a>b?

a:

b;i>0;i++)

if(i%a==0&&i%b==0)

    printf("\nThe min=%d",i);

break;

 }

 }

2、12

#include<stdio、h>

main()

  inta,k=0;

printf("please inputdata:

");

scanf(”%d",&a);

while(a%2==0)

  {

 a=a/2;

k++;

}

printf("\nthenumber offactor

(2) is%d",k);

}ﻺ

2、13

main()

{

 longi,t=1;

longsum=0;

for(i=1;i<=10;i++)

 {

t*=i;

  sum+=t;

  printf(”%ld!

=%ld\n”,i,t);

 printf("sum:

%ld\n",sum);

}ﻺ

2、14

#include<stdio、h>

voidmain()

inti,x=0;

for(i=9;i>=1;i——)

  {

 x=2*(x+1);

 }

printf("The first day:

%d",x);

2、15

#include 〈stdio、h>

#definePI3、141593

main()

{

floatr,h;

 floatv;

 printf("please inputr,h:

");

scanf(”%f%f”,&r,&h);

v=1、0/3*PI*r*r*h;

printf(”V=%、2f”,v);

}

2、16

#include〈stdio、h>

#include〈math、h〉

main()

longintsn=0;

longintm=0,t=0;

  inta,n,i;

 printf("please inputan:

");

 scanf("%d%d”,&a,&n);

 for(i=0;i〈n;i++)

{

 m=m*10+a;

 sn+=m;

printf("a+aa+aaa+、、、+aa、、、a=%ld\n\n",sn);

}

2、17

#include

main()

 intk;

  printf(”please inputk:

");

 do

 {

scanf(”%d",&k);

  if(k〉=0&&k〈=6)

   break;

}while

(1);

 switch(k)

 {

 case0:

printf("Sunday、\n");break;

  case1:

printf(”Monday、\n”);break;

  case2:

printf("Tuesday、\n”);break;

    case3:

printf("Wednesday、\n");break;

  case4:

printf("Thursday、\n”);break;

   case 5:

printf(”Friday、\n”);break;

 case 6:

printf(”Saturday、\n");break;

 }

}

2、18

#include<stdio、h〉

main()

 int i;

doublex,a,b=1,sum=1;

printf("please inputx:

”);

 scanf(”%lf",&x);

a=x;

 for(i=1;a/b>=1e-6;i++)

 {

 sum=sum+a/b;

a=a*x;

  b=(i+1)*b;

 printf(”\nsum=%lf",sum);

}

2、19

#include<stdio、h>

#include

main()

{

 floata,x1,x2;

 printf(”input a:

");

 scanf("%f",&a);

 x1=1、0;

 while(1)

 {

 x2=1、0/2*(x1+a/x1);

 if(fabs(x2-x1)〈1e—5)

break;

 x1=x2;

 }

printf("sqrt(a)=%f",x2);

}

第四章

写出下列程序输出结果

1、no1 a=1no1a=0no1a=1no1a=0

2、

a=0b=0c=0

a=1b=0 c=0

a=2 b=0 c=0

3、

main:

x=5,y=1,n=1

func:

x=6,y=21,n=11

main:

x=5,y=1,n=11

func:

x=8,y=31,n=21

第五章

1、Dﻩ

2、D

3、Cﻩ

4、6ﻩ

5、CDABC

6、

(1)j+=2 

 

(2)a[i]〈a[j]

7、

(1)s[i++]!

=’\0’

(2)s[i-1]

8、D

9、B

10、6(同题4)

11、s[i]〉=’0'&&s[i]〈=’9'

12、 

(1)'\0'(2)str1[i]-str2[i]

5、1

#include<stdio、h〉

intfun();

int fun()

{

 inta[3][3],sum;

 inti,j;

sum=0;/*error*/

for(i=0;i<3;i++)

{

 for(j=0;j〈3;j++)

   scanf("%d”,&a[i][j]);/*error*/

for(i=0;i〈3;i++)

 sum=sum+a[i][i];

printf("sum=%d\n",sum);

}

voidmain()

fun();

}ﻺ

5、2

#include<stdio、h>

void main(void)

float Num[10];

 floatInput,GetNum[11];

int i,j;

floata=6;

for(i=0;i〈10;i++)

  Num[i]=a;

a=a+7、5;

Loop1:

printf(”Pleaseinput aNumber(0-80)Input=");

  scanf("%f”,&Input);

if((Input〈0)||(Input>70)==1)

goto Loop1;

for(i=0;i<10;i++ )

{

if(Input〈Num[i])

goto Loop2;

Loop2:

for(j=0;j〈i;j++)

ﻩGetNum[j]=Num[j];

GetNum[j]=Input;

for(j=i;j<=10;j++,i++)

GetNum[j+1]=Num[i];

for(j=0; j<11;j++)

printf(”%3、3f ”,GetNum[j]);

}

5、3

#include”stdio、h"

#include”stdlib、h"

main()

{

ﻩint a1,a2,a3,a4,a5,a6,a7,a8,a9;

ﻩinta[3];

inti;

ﻩfor(;;)

ﻩ{

for(i=0;i<3;i++)

ﻩa[i]=rand()%3;

ﻩﻩ}

while((a[0]!

=a[1])&&(a[0]!

=a[2]) &&(a[1]!

=a[2]))/*getthree different numbers0,1,2*/

ﻩ{

ﻩﻩa1=a[0]+1;/*divide1~9intothreegroups,a1~a3,a4~a6,a7~a9*/

ﻩa2=a[1]+1;

ﻩﻩa3=a[2]+1;

ﻩﻩﻩa4=a1+3;

ﻩa5=a2+3;

ﻩﻩﻩa6=a3+3;

ﻩﻩa7=a1+6;

ﻩa8=a2+6;

ﻩa9=a3+6;

ﻩ/*makesurethateachline andeachrowismadeupwiththreemembersin differentgroup、*/

ﻩ/*suchas:

  a9a1a5

ﻩ  a2a6 a7

ﻩﻩﻩa4a8 a3*/

ﻩﻩif(((a1+a5+a9)== (a2+a6+a7))&&((a1+a5+a9) ==(a3+a4+a8))

&&((a1+a6+a8)==(a5+a7+a3))&&((a1+a5+a9)==(a2+a4+a9)))

ﻩﻩ{

ﻩﻩprintf("%d%d %d\n%d%d%d\n%d%d%d\n",a9,a1,a5,a2,a6,a7,a4,a8,a3);

ﻩﻩreturn;

ﻩﻩ}

ﻩ}

ﻩ}

5、4

#include<stdio、h>

voidmain(void)

ﻩcharinput1[100],input2[100],input3[100];

int i,Eng=0,eng=0,num=0,blank=0,other=0;

printf(”Input3rows ofcharacter,eachrowdon'texceed 80characters:

\n");

ﻩgets(input1);

 printf(”Thesecondrow:

\n”);

ﻩﻩgets(input2);

   printf("The thirdrow:

\n");

ﻩﻩgets(input3);

/*test thefirstrow*/

ﻩfor(i=0;i〈100; i++)

ﻩ{

ﻩif(input1[i]==’\0')

ﻩ goto Loop1;

ﻩ elseif((’A'〈=input1[i])&&(input1[i]<='Z')==1)

ﻩEng++;

   elseif(('a'〈=input1[i])&&(input1[i]〈=’z’)==1)

eng++;

  elseif((’0'<=input1[i])&&(input1[i]〈=’9')==1)

ﻩnum++;

 else if(input1[i]==32)

ﻩﻩblank++;

       else other++;

}

/*testthesecondrow*/

Loop1:

ﻩfor(i=0;i<100;i++)

ﻩ{

ﻩﻩif(input2[i]==’\0’)

ﻩgotoLoop2;

  else if(('A'〈=input2[i])&&(input2[i]<=’Z’)==1)

ﻩEng++;

    else if(('a’<=input2[i])&&(input2[i]〈=’z')==1)

ﻩﻩeng++;

   elseif(('0'<=input2[i])&&(input2[i]<='9')==1)

ﻩﻩﻩnum++;

   elseif(input2[i]==32)

blank++;

  else other++;

/*testthethirdrow*/

Loop2:

for(i=0; i〈100; i++)

ﻩ{

if(input3[i]=='\0')

ﻩ goto Loop3;

   elseif((’A’<=input3[i])&&(input3[i]〈=’Z')==1)

ﻩEng++;

     elseif(('a'〈=input3[i])&&(input3[i]<=’z')==1)

ﻩﻩeng++;

 elseif((’0'<=input3[i])&&(input3[i]<='9')==1)

num++;

  elseif(input3[i]==32)

ﻩblank++;

 elseother++;

ﻩ}

Loop3:

printf(”Upperenglish character:

%d\nLowerenglishcharacter:

%d\nNumber:

%d\nBlank:

%d\nOthercharacters:

%d\n”,Eng,eng,num,blank,other);

}

5、5

#include<stdio、h>

voidmain(void)

{

ﻩcharstr1[80],str2[40];

ﻩinti,j,k;

/*Inputtwostring*/

ﻩprintf("Please inputthe firststring\nstr1=");

gets(str1);

printf(”Pleaseinputthesecondstring\nstr2=");

gets(str2);

/*Gettheendofstr1*/

ﻩfor(i=0;i<80;i++)

ﻩ{

ﻩﻩif(str1[i]=='\0')

ﻩ  break;

ﻩ}

/*Copystr2tostr1*/

for(j=i,k=0; str2[k]!

=’\0’;k++,j++)

ﻩstr1[j]=str2[k];

str1[i+k]=’\0';

 puts(str1);

5、6

#include<stdio、h>

structstudent

{charname[20];

  int score;

}stu[5],stu1;

voidmain(void)

{ int i,j;

printf("Input student's scoreandname(5),seperateusingthe characterof ’,':

\n”);

ﻩfor(i=0;i<5; i++)

scanf(”%d,%s",&stu[i]、score,&stu[i]、name);

/*sorting*/

for(i=0;i<5;i++)

 for(j=0;j<4-i;j++)

ﻩﻩ if(stu[j]、score>stu[j+1]、score)

ﻩﻩ{stu1=stu[j];stu[j]=stu[j+1];stu[j+1]=stu1;}

ﻩprintf(”Aftersotred,score andname:

\n”);

ﻩfor(i=0; i<5;i++)

ﻩﻩprintf("%d,%s\n",stu[i]、score,stu[i]、name);

5、7

#include

main()

{ inta[3][3],i,j,m,n,o,p;

  printf("Pleaseinputa3*3 shuzu:

\n");

for(i=0;i<=2;i+

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

当前位置:首页 > PPT模板 > 商务科技

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

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