华中科技大学标准C语言程序设计及应用习题答案.docx
- 文档编号:9861815
- 上传时间:2023-05-21
- 格式:DOCX
- 页数:50
- 大小:36.05KB
华中科技大学标准C语言程序设计及应用习题答案.docx
《华中科技大学标准C语言程序设计及应用习题答案.docx》由会员分享,可在线阅读,更多相关《华中科技大学标准C语言程序设计及应用习题答案.docx(50页珍藏版)》请在冰点文库上搜索。
华中科技大学标准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
(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文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 华中科技大学 标准 语言程序设计 应用 习题 答案