《C语言程序设计》习题参考答案.pdf_第1页
《C语言程序设计》习题参考答案.pdf_第2页
《C语言程序设计》习题参考答案.pdf_第3页
《C语言程序设计》习题参考答案.pdf_第4页
《C语言程序设计》习题参考答案.pdf_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

C 语言程序设计 习题参考答案 第 1 章 习题参考答案 1 略 2判断题 3填空题 1 main 2 函数的首部 函数体 3 4 main main 5 语句 分号 4选择题 5选择题 1 include main int a b s float t printf EnterA B n scanf d d s a b t a b printf s d t f n s t 2 include main printf n printf Hello n printf How do you do n 12345 12345 CCCCB C 语言程序设计 习题参考答案 printf n 3 include main int r h float v printf EnterR H n scanf d d v 3 1415926 r r h printf v f n v 第第 2 2 2 2 章章 习题参考答案习题参考答案 1 略 2 填空题 1 ab e d c b b a 2 2 2 5 3 16 4 10 5 16 16 11 6 4 10 6 7 18 3 3 8 sin 65 3 14 180 2 3 1415926 exp y x y 9 25 25 10 27 11 4 12 0 3选择题 4编程题 123456789101112 DDCBDADBCDAB C 语言程序设计 习题参考答案 1 include main int x a b c scanf d a x 100 b x 100 10 c x 10 printf d d d n a b c 2 include main unsigneda b r1 r2 r3 scanf u u r1 a r2 a b r3 a b printf r1 u r2 u r3 u n r1 r2 r3 getch 3 include main float a b h s scanf f f f s a b h 2 printf s f n s 第第 3 3 3 3 章章 习题参考答案习题参考答案 一 判断题 123456 C 语言程序设计 习题参考答案 二 填空题 1 语句 2 表达式语句 3 4 函数 5 由 和格式字符 6 float r1 r2 scanf d d r2 a b r1 a b r2 printf r1 0 2f r2 0 2f n r1 r2 C 语言程序设计 习题参考答案 2 include main float c f printf Input C scanf f f 9 0 5 c 32 printf F f n f 3 include void main float c1 c2 c3 ver s printf Input a b and c scanf f f f s c1 c2 c3 ver s 3 printf total s f ver f n s ver 第第 4 4 4 4 章章 习题参考答案习题参考答案 1判断题 2选择题 3程序阅读题 1 105 123456 12345678 BBBBDABB C 语言程序设计 习题参考答案 2 a 8 3 abc123DEF 4 4程序填空题 1 chch count count 0count 0 2 div ndiv 3 min markmin markmax marksum mark 5编程题 1 include void main int x y printf Enter the X Y n scanf d d if x 0 else if x 0 else if x0 printf d d 是第三像限 n x y else if x 0 else if x0 printf d d 在 Y 轴正方向 n x y else if x 0 else printf d d 为坐标原点 n x y C 语言程序设计 习题参考答案 2 include include main float a b c x s printf Input a b and c scanf f f f if a b c a c b b c a printf Error n else x a b c 2 s sqrt x x a x b x c printf area f n s 3 程序代码如下 include void main float salary tax int ntax printf nPlease enter a salary scanf f ntax salary 500 if ntax 10 ntax 10 switch ntax case 0 case 1 tax 0 break case 2 tax salary 1000 0 05 break case 3 case4 tax 500 0 05 salary 1500 0 1 break case 5 case6 tax 500 0 05 1000 0 1 salary 2500 0 15 break case 7 case8 case 9 tax 500 0 05 1000 0 1 1000 0 15 salary 3500 0 20 break C 语言程序设计 习题参考答案 case 10 tax 500 0 05 1000 0 1 1000 0 15 1500 0 20 salary 5000 0 30 printf nThe tax 10 2f n tax 4 方法一 include include main int i 1 float t 1 s 0 do t t i s s t i i 1 while fabs t 1e 6 printf s f n s 方法二 include void main int i 1 sign 1 float t 1 0 s 0 0 while 1 0 t 1e 6 t t i s s sign t i i 1 sign sign printf s f n s 5 方法一 include C 语言程序设计 习题参考答案 main inti a b c for i 100 i 999 i a i 100 b i 10 10 c i 10 if i a a a b b b c c c printf d n i 方法二 include void main inti a b c for a 1 a 9 a for b 0 b 9 b for c 0 c 9 c i a 100 b 10 c if i a a a b b b c c c printf d n i 6 include main int i j for i 1 i 4 i for j 1 j 6 i j putchar for j 1 j 1 i for j 1 j 6 i j putchar C 语言程序设计 习题参考答案 for j 1 j i 2 1 j printf c 65 i 1 printf n 7 include main int a b c for a 0 a 20 a for b 0 b 33 b c 100 a b if a 5 b 3 c 3 0 100 printf d d d n a b c 8 include include main float x x0 a scanf f x a do x0 x x 2 3 0 x0 a 3 x0 x0 while fabs x x0 1e 6 printf x f n x 9 include include main C 语言程序设计 习题参考答案 float pi pi0 int i 1 pi 2 do pi0 pi pi pi 2 0 i 2 0 i 1 2 0 i 2 0 i 1 i i 1 while fabs pi pi0 1e 6 printf pi f n pi 10 include void main int i j s for i 6 i 1000 i s 1 for j 2 j i 2 j if i j 0 s j if s i 判断是否是合数 printf d 1 i 打印输出合数及 1 for j 2 j i 2 j 打印输出各因子 if i j 0 printf d j printf n 11 include include void main int x y z k k sqrt 2000 for x 0 x k x for y 0 y k y for z 0 z k z if x x y y z z 2000 C 语言程序设计 习题参考答案 printf d d d n x y z 第第 5 5 5 5 章章 习题参考答案习题参考答案 1判断题 2填空题 1 32 2 4 3 str1 7 0 4 for i 1 i 6 i gets a i 5 strcpy web 6 int p a 7 5 8 1 9 p 6 或 s 6 3选择题 4程序阅读题 1 6 2 str 3 60 4 bcdefga cdefgab defgabc 5 a1e2 5程序填空题 1 include scanf f x a 0 fabs a i s 2 scanf d 或 p p 六 编程题 123456789101112131415 123456789101112131415 BCBABCBACDBDBAD C 语言程序设计 习题参考答案 1 使用数组和指针 2 种方法来处理 方法一 使用数组 include void main int i 0 a 10 t printf Enter the10 number n for i 0 i 10 i scanf d for i 0 i 5 i t a i a i a 9 i a 9 i t for i 0 i 10 i printf d a i printf n 方法二 使用指针 include void main int i 0 a 10 t p q printf Enter the10 number n for p a p a 10 p scanf d p p a q a 9 for p q p q t p p q q t for p a p a 10 p printf d p printf n 2 include main inti j t n a 11 0 1 2 3 4 5 6 7 8 9 10 for i 0 i 10 i printf d a i printf n C 语言程序设计 习题参考答案 printf Enter the Move n scanf d for i 1 i 0 j a j 1 a j a 0 t for i 0 i 10 i printf d a i getch 3 include include main int a 100 b 100 i j p n 0 t randomize for i 0 i 100 i a i random 100 if a i 2 0 b n a i for i 0 i n 1 i p i for j i 1 jb p p j t b p b p b i b i t for i 0 i n i printf d b i if i 10 9 printf n getch C 语言程序设计 习题参考答案 4 include include define N 50 main int a N i j p t randomize for i 0 i N i a i random 100 for j 0 j i j if a i a j i break for i 0 i N 1 i p i for j i 1 ja p p j t a p a p a i a i t for i 0 i N i printf d a i if i 10 9 printf n 5 include define N 10 void main int i float a N s 0 0 x0 0 0 for i 0 i N i C 语言程序设计 习题参考答案 scanf f x0 a i x0 N for i 0 i N i s a i x0 a i x0 printf 10 6f s 6 define N 4 define M 3 void main int i j sum a N M 1 max p printf input score n for i 0 i N i i 代表学生序号 sum 0 每位学生成绩输入前 其总成绩赋初值 0 for j 0 j M j j 代表课程代号 scanf d 输入第 i 号学生第 j 门课程的成绩 sum sum a i j 累加求总成绩 a i M sum 求第 i 个学生的总成绩放到 a i M max a 0 M p 0 for i 1 imax p i printf No dTotalscore d n p 1 a p M 7 include void main int a 5 6 inti j mi mj for i 0 i 5 i for j 0 j 6 j C 语言程序设计 习题参考答案 printf input a d d i j scanf d mi 0 mj 0 for i 0 i 5 i for j 0 j 6 j if a i j a mi mj mi i mj j printf d a i j printf n printf min d a mi mj 8 include include void main float a 5 6 inti j max printf Enter array a n for i 0 i 5 i for j 0 j 6 j scanf f for i 0 i 5 i max a i 0 for j 0 jfabs max max a i j for j 0 j 6 j 第 i 行中所有元素除以绝对值最大的元素 a i j a i j max printf 8 4 a i j printf max 8 4 n max C 语言程序设计 习题参考答案 9 include include define N 20 main char str N 15 st 15 p st inti j for i 0 i N i scanf s str i for i 0 i N i for j 0 j0 strcpy p str j strcpy str j str j 1 strcpy str j 1 p for i 0 i N i printf s n str i 10 程序如下 include main int a 10 b 10 t int n 0 m 0 i j f printf Input Arraya end with 1 scanf d while n 10 scanf d printf Input Arrayb end with 1 scanf d while m 10 scanf d for i 0 i n i 打印只在数组 a 中出现的元素 C 语言程序设计 习题参考答案 f 1 for j 0 j m j if a i b j f 0 break if f printf d a i for i 0 i m i 打印只在数组 b 中出现的元素 f 1 for j 0 j n j if b i a j f 0 break if f printf d b i 11 include main char str 81 int i 1 printf Input scanf s str while i 80 puts str 12 include void main char x 80 y 26 int i j ny 0 gets x for i 0 x i 0 i if x i A j ny j if y j x i break if j ny y ny x i ny for i 0 i ny i C 语言程序设计 习题参考答案 printf c y i printf n 13 include void main int m bin 32 j scanf d for j 0 m 0 j bin j m 2 m m 2 for j 0 j printf d bin j 1 14 include include include void main char s 80 int i 0 gets s while s i 0 if isdigit s i strcpy s i s i 1 elsei puts s 15 void main int a b c int p1 p2 p3 t printf nPlease input threeintegers n scanf d d d C 语言程序设计 习题参考答案 p1 if p1 p2 t p1 p1 p2 p2 t if p1 p3 t p1 p1 p3 p3 t if p2 p3 t p2 p2 p3 p3 t printf new order n printf d d d p1 p2 p3 16 void main char st 80 ss 20 sp 20 a st b ss t sp int i n m p 1 printf nPlease input twostring n gets a gets b n strlen a m strlen b for i 0 i n m 1 i a st i strncpy t a m 将字符指针 a 指向的字符串取前 m 个字符复制到 t 所指的字符串中 if strcmp b t 0 p i break if p 1 printf d p else printf d p 1 因数组下标从 0 开始 所以输出 p 1 getch 17 include void main C 语言程序设计 习题参考答案 char st 80 p st ch printf Enter a string n gets p while p 0 ch p if ch A p ch 转换后的字符替换原字符 p 指针指向下一个字符 指针指向字符串首字符 p st puts p getch 18 include void main char st 80 p st ch long k 0 printf Enter a string n gets p strupr p while p 0 ch p if ch 0 p printf ld n k 第 6 章 习题参考答案 6判断题 7选择题 8填空题 1 char printch int char 2 int strlen char 3 int min int 4 int random void 5 int digits double int 9程序阅读题 1 127 10 7F 16 2 30 3 a 64 b 64 4 3 6 10程序填空题 1 random 10 0 s N ca I 0 2 int mx v k v k 1 3 sign 1digit 0digit digit 10 s k 0 4 1 1 2 2 3 3 4 4 5 5 float x float a int nreturn y 11编程题 1 include int jfnum int n 12345678910 12345 CBACD C 语言程序设计 习题参考答案 main int i for i 100 i 999 i if judge i printf d n i int judge int n int n1 n2 n3 flag if n999 printf error else n1 n 10 n2 n 10 10 n3 n 100 if n n1 n1 n1 n2 n2 n2 n3 n3 n3 flag 1 else flag 0 return flag 2 float mysqr float a float eps float x0 x1 t if aeps return x1 3 void code char s int n int i for i 0 i n i if A s i void recode char s int n int i for i 0 i n i if A s i if s i A s i Z s i s i 26 4 int leapyear int year main int year printf Input year number scanf d if leapyear year 1 printf n d is leap year n year else printf n d is not leap year n year int leapyear int year if year 4 0 else return 0 5 include char search char s char c int flag flag 0 while s 0 if s c flag 1 break s if flag 1 return s else return NULL C 语言程序设计 习题参考答案 6 include void maxmin int a int b int c int max int min main int a b c max min printf nPlease input three integers n scanf d d d maxmin a b c printf max d min d max min void maxmin int a int b int c int max int min if a b max a min b if c max max c if c min min c 7 include include void getdata int a int n 随机生成数据函数的原型声明 void printdata int a int n 输出数据函数原型声明 void sort int a int n 排序函数原型声明 float average int a int n 求平均值函数原型声明 void count int a int n float x int b 统计函数原型声明 main int a 20 b 3 float x getdata a 20 printf nInitialize n printdata a 20 sort a 20 printf nSort n printdata a 20 x average a 20 printf nAverage f n x count a 20 x b printf n n C 语言程序设计 习题参考答案 printdata b 3 void getdata int a int n int i randomize for i 0 i n i a i rand 90 10 void printdata int a int n int i for i 0 i n i if i 5 0 printf n printf d a i void sort int a int n int i j k t for i 0 i n 1 i k i for j i 1 ja j k j t a i a i a k a k t float average int a int n float s int i s 0 0 for i 0 i n i s s a i return s n void count int a int n float x int b int i b 0 b 1 b 2 0 for i 0 ix b 0 C 语言程序设计 习题参考答案 else if a i x b 1 else b 2 8 include string h void invert char string int n char h t c n strlen string h string t h n 1 while h t c h h t t c h t 9 void mystrcpy char s1 char s2 int m s2 s2 m 1 while s2 0 s1 s2 s1 s2 s1 0 10 int f int n if n 0 printf error else if n 0 return0 else if n 1 return 1 else return f n 2 f n 1 C 语言程序设计 习题参考答案 11 include stdio h include math h float yx float x float y0 y1 if x0 00001 y0 y1 y1 sqrt x y0 return y1 12 include stdio h void maxa int a 3 4 void verse int a 3 4 void main int i j a 3 4 for i 0 i 3 i for j 0 j 4 j scanf d maxa a verse a getch void maxa int a 3 4 int i j imax 0 jmax 0 for i 0 i 3 i for j 0 ja imax jmax imax i jmax j C 语言程序设计 习题参考答案 printf The max number is a d d d n imax jmax a imax jmax void verse int a 3 4 int i j imax 0 jmax 0 for j 0 j 4 j for i 0 i 3 i printf d a i j printf n 第 7 章 习题参考答案 1 判断题 2 选择题 3 填空题 1 程序编译之前 2 include myhead h 3 c c 32 4 2 5 5 31 6 z 0 4 编程题 1 include defineRN x if x 4 0 else printf NO void main int n scanf d RN n 123456 123456 BBCDBA C 语言程序设计 习题参考答案 2 include defineMIN x y z printf d x y x y z x y x y z void main int a b c scanf d d d MIN a b c 3 include defineINPUT a n for i 0 i n i scanf f defineAVERAGE a n ave for i 0 inext NULLinfop p next 2 p1 next NULLp0 next p1 p0 next NULL 3 s k avers k aver s maxsub avermaxsub k 4 max i min i stud max name stud max score stud min name stud min score 5 headn p next 6 6 6 6 编程题 编程题 1 struct complx int real int im main struct complx c1 c2 c3 scanf d di scanf d di c3 real c1 real c2 real c1 im c2 im c3 im c1 real c2 im c1 im c2 real printf d di d di d di c1 real c1 im c2 real c2 im c3 real c3 im getch 2 include include main define N 10 struct student long num char name 10 float score 3 float ave 1 5 7 C 语言程序设计 习题参考答案 main void input struct student s int n 输入 n 个学生数据 float average struct student s int n 计算第 n 个学生的平均成绩 int max struct student s int n 计算 n 个学生中哪个学生的平均成绩最高 struct student s N int i m float a 0 总平均成绩 input s N for i 0 i N i s i ave average s i a a s i ave a a N printf NumberNameScore 1Score 2Score 3Average n for i 0 i N i printf ld 10s f f f f n s i num s i name s i score 0 s i score 1 s i score 2 s i ave printf The total average scoreis f n a m max s N printf The max scorestudent n printf Number ld nName s nScore1 f nScore2 f nScore3 f nAverage Score f n s m num s m name s m score 0 s m score 1 s m score 2 s m ave void input struct student s int n int i for i 0 i n i printf Please input student number scanf ld printf Please input student name scanf s s i name printf Please input student score1 scanf f printf Please input student score2 scanf f C 语言程序设计 习题参考答案 printf Please input student score3 scanf f float average struct student s int n int i float a 0 for i 0 i 3 i a a s n score i a a 3 return a int max struct student s int n int i m 0 for i 1 is m ave m i return m 3 struct date int year int month int day int days struct date d int n t if d year 4 0 else t 28 switch d month case 1 n d day break case 2 n d day 31 break case 3 n d day 31 t break case 4 n d day 31 t 31 break case 5 n d day 31 t 31 30 break case 6 n d day 31 t 31 30 31 break case 7 n d day 31 t 31 30 31 30 break case 8 n d day 31 t 31 30 31 30 31 break case 9 n d day 31 t 31 30 31 30 31 31 break case 10 n d day 31 t 31 30 31 30 31 31 30 break case 11 n d day 31 t 31 30 31 30 31 31 30 31 break C 语言程序设计 习题参考答案 case 12 n d day 31 t 31 30 31 30 31 31 30 31 30 return n main struct date d 2006 3 15 printf d days d getch 4 struct ks int reg char name char sex char birthday int score 6 struct ks input struct ks s int i sum 0 printf register scanf d printf name scanf s s name printf sex scanf c printf birthday scanf s s birthday for i 0 i 5 i printf score d i 1 scanf d sum sum s score i s score 5 sum return s void print struct ks s int i printf register d n s reg printf name s n s name printf sex c n s sex printf birthday s n s birthday for i 0 i 5 i printf score d d n i 1 s score i C 语言程序设计 习题参考答案 printf sum d n s score 5 getch struct ks search struct ks s int n int i p 0 for i 1 is p score 5 p i return s p void sort struct ks s int n int i j p struct ks t for i 0 i n 1 i p i for j i 1 j n j if s j reg s p reg p j t s i s i s p s p t print s i print s n 1 5 define NULL 0 define LEN sizeof struct student struct student long num char name 10 char sex F 表示女 M 表示男 int age struct student next main struct student creat int n void print struct student head struct student delete struct student head int age struct student head C 语言程序设计 习题参考答案 int n age printf nPlease input the length of list scanf d head creat n print head struct student creat int n struct student head p1 p2 int i head NULL for i 1 inum printf Name scanf s p1 name printf Sex scanf c printf Age scanf d if i 1 head p1 else p2 next p1 p2 p1 p2 next NULL return head void print struct student head struct student p p head printf NumberNameSex Age n while p NULL printf ld 10s c d p num p name p sex p age p p next C 语言程序设计 习题参考答案 6 struct student delete struct student head int age struct student p1 p2 p1 head while p1 NULL if p1 age age if p1 head head p1 next else p2 next p1 next free p1 p2 p1 p1 p1 next return head 第 9 章 习题参考答案 1 填空题 7 文本文件 二进制文件 8 创建 a文件 9 打开 a文件 并且文件读写位置指针在文件尾 10 将字符变量ch中的字符写入 fp所指向的文件 从fp所指向的文件中读取n 1 个字符 并且写入数组 s 中 11 0 12 for i 0 i 30 i fread char ch if fp1 fopen C Mydir String txt r NULL printf Cannot open file strikeany keyexit exit 0 if fp2 fopen C Mydir NewString txt w NULL printf Cannot open file strikeany keyexit exit 0 1 5 4 3 2 total 14 2Language 3 1 2 3 4 5 6 7 8 9 10 1 fp fopen c data txt w ch getchar fputc ch fp 2 stu i name stu i sno stu i age stu i address w fputc ch fp2 fclose fp1 fclose fp2 remove C Mydir String txt rename C Mydir String txt C Mydir NewString txt 2 include int search FILE fp char ch void main FILE fp char filename 30 char ch int count printf Plese input filename n gets filename printf Plese input thecharacter you wantto search n scanf c if fp fopen filename r NULL printf Cannot open file strikeany keyexit exit 0 count search fp ch fcl

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论