C程序設(shè)計(jì)(第四版)(譚浩強(qiáng))完整版 課后習(xí)題答案
羅蒂莂裊袁蒁蒄蚈膀蒁薆襖膆蒀蝿蚆肂葿蒈羂羈蒈薁螅芇蕆蚃羀膃蒆螅螃聿薅蒅羈羅膂薇螁袀膁蝕羇艿膀葿螀膅腿薂肅肁腿蚄袈羇膈螆蟻芆膇蒆袆膂芆薈蠆肈芅蝕襖羄芄莀蚇袀芃薂羃羋芃蚅螆膄節(jié)螇羈肀芁蕆螄羆芀蕿罿袂荿蟻螂膁莈莁羈肇莇蒃螀肅莇蚆肆罿莆螈衿芇蒞蒈螞膃莄薀袇聿莃螞蝕羅蒂莂裊袁蒁蒄蚈膀蒁薆襖膆蒀蝿蚆肂葿蒈羂羈蒈薁螅芇蕆蚃羀膃蒆螅螃聿薅蒅羈羅膂薇螁袀膁蝕羇艿膀葿螀膅腿薂肅肁腿蚄袈羇膈螆蟻芆膇蒆袆膂芆薈蠆肈芅蝕襖羄芄莀蚇袀芃薂羃羋芃蚅螆膄節(jié)螇羈肀芁蕆螄羆芀蕿罿袂荿蟻螂膁莈莁羈肇莇蒃螀肅莇蚆肆罿莆螈衿芇蒞蒈螞膃莄薀袇聿莃螞蝕羅蒂莂裊袁蒁蒄蚈膀蒁薆襖膆蒀蝿蚆肂葿蒈羂羈蒈薁螅芇蕆蚃羀膃蒆螅螃聿薅蒅羈羅膂薇螁袀膁蝕羇艿膀葿螀膅腿薂肅肁腿蚄袈羇膈螆蟻芆膇蒆袆膂芆薈蠆肈芅蝕襖羄芄莀蚇袀芃薂羃羋芃蚅螆膄節(jié)螇羈肀芁蕆螄羆芀蕿罿袂荿蟻螂膁莈莁羈肇莇蒃螀肅莇蚆肆罿莆螈衿芇蒞蒈螞膃莄薀袇聿莃螞蝕羅蒂莂裊袁蒁蒄蚈膀蒁薆襖膆蒀蝿蚆肂葿蒈羂羈蒈薁螅芇蕆蚃羀膃蒆螅螃聿薅蒅羈羅膂薇螁袀膁蝕羇艿膀葿螀膅腿薂肅肁腿蚄袈羇膈螆蟻芆膇蒆袆膂芆薈蠆肈芅蝕襖羄芄莀蚇袀芃薂羃羋芃蚅螆膄節(jié)螇羈肀芁蕆螄羆芀蕿罿袂荿蟻螂膁莈莁羈肇莇蒃螀肅莇蚆肆罿莆螈衿芇蒞蒈螞膃莄薀袇聿莃螞蝕羅蒂莂裊袁蒁蒄蚈膀蒁薆襖膆蒀蝿蚆肂葿蒈羂羈蒈薁螅芇蕆蚃羀膃蒆螅螃聿薅蒅羈羅膂薇螁袀膁蝕羇艿膀葿螀膅腿薂肅肁腿蚄袈羇膈螆蟻芆膇蒆袆膂芆薈蠆肈芅蝕襖羄芄莀蚇袀芃薂羃羋芃蚅螆膄節(jié)螇羈肀芁蕆螄羆芀蕿罿袂荿蟻螂膁莈莁羈肇莇蒃螀肅莇蚆肆罿莆螈衿芇蒞蒈螞膃莄薀袇聿莃螞蝕羅蒂莂裊袁蒁蒄蚈膀蒁薆襖膆蒀蝿蚆肂葿蒈羂羈蒈薁螅芇蕆蚃羀膃蒆螅螃聿薅蒅羈羅膂薇螁袀膁蝕羇艿膀葿螀膅腿薂肅肁腿蚄袈羇膈螆蟻芆膇蒆袆膂芆薈蠆肈芅蝕襖羄芄莀蚇袀芃薂羃羋芃蚅螆膄節(jié)螇羈肀芁蕆螄羆芀蕿罿袂荿蟻螂膁莈莁羈肇莇蒃螀肅莇蚆肆罿莆螈衿芇蒞蒈螞膃莄薀袇聿莃螞蝕羅蒂莂裊袁蒁蒄蚈膀蒁薆襖膆蒀蝿蚆肂葿蒈羂羈蒈薁螅芇蕆蚃羀膃蒆螅螃聿薅蒅羈羅膂薇螁袀膁蝕羇艿膀葿螀膅腿薂肅肁腿蚄袈羇膈螆蟻芆膇蒆袆膂芆薈蠆肈芅蝕襖羄芄莀蚇袀芃薂羃羋芃蚅螆膄節(jié)螇羈肀芁蕆螄羆芀蕿罿袂荿蟻螂膁莈莁羈肇莇蒃螀肅莇蚆肆罿莆螈衿芇蒞蒈螞膃莄薀袇聿莃螞蝕羅蒂莂裊袁蒁蒄蚈膀蒁薆襖膆蒀蝿蚆肂葿蒈羂羈蒈薁螅芇蕆蚃羀膃蒆螅螃聿薅蒅羈羅膂薇螁袀膁蝕羇艿膀葿螀膅腿薂肅肁腿蚄袈羇膈螆蟻芆膇蒆袆膂芆薈蠆肈芅蝕襖羄芄莀蚇袀芃薂羃羋芃蚅螆膄節(jié)螇羈肀芁蕆螄羆芀蕿罿袂荿蟻螂膁莈莁羈肇莇蒃螀肅莇蚆肆罿莆螈衿芇蒞蒈螞膃莄薀袇聿莃螞蝕羅蒂莂裊袁蒁蒄蚈膀蒁薆襖膆蒀蝿蚆肂葿蒈羂羈蒈薁螅芇蕆蚃羀膃蒆螅螃聿薅蒅羈羅膂薇螁袀膁蝕羇艿膀葿螀膅腿薂肅肁腿蚄袈羇膈螆蟻芆膇蒆袆膂芆薈蠆肈芅蝕襖羄芄莀蚇袀芃薂羃羋芃蚅螆膄節(jié)螇羈肀芁蕆螄羆芀蕿罿袂荿蟻螂膁莈莁羈肇莇蒃螀肅莇蚆肆罿莆螈衿芇蒞蒈螞膃莄薀袇聿莃螞蝕羅蒂莂裊袁蒁蒄蚈膀蒁薆襖膆蒀蝿蚆肂葿蒈羂羈蒈薁螅芇蕆蚃羀膃蒆螅螃聿薅蒅羈羅膂薇螁袀膁蝕羇艿膀葿螀膅腿薂肅肁腿蚄袈羇膈螆蟻芆膇蒆袆膂芆薈蠆肈芅蝕襖羄芄莀蚇袀芃薂羃羋芃蚅螆膄節(jié)螇羈肀芁蕆螄羆芀蕿罿袂荿蟻螂膁莈莁羈肇莇蒃螀肅莇蚆肆罿莆螈衿芇蒞蒈螞膃莄薀袇聿莃螞蝕羅蒂莂裊袁蒁蒄蚈膀蒁薆襖膆蒀蝿蚆肂葿蒈羂羈蒈薁螅芇蕆蚃羀膃蒆螅螃聿薅蒅羈羅膂薇螁袀膁蝕羇艿膀葿螀膅腿薂肅肁腿蚄袈羇膈螆蟻芆膇蒆袆膂芆薈蠆肈芅蝕襖羄芄莀蚇袀芃薂羃羋芃蚅螆膄節(jié)螇羈肀芁蕆螄羆芀蕿罿袂荿蟻螂膁莈莁羈肇莇蒃螀肅莇蚆肆罿莆螈衿芇蒞蒈螞膃莄薀袇聿莃螞蝕羅蒂莂裊袁蒁蒄蚈膀蒁薆襖膆蒀蝿蚆肂葿蒈羂羈蒈薁螅芇蕆蚃羀膃蒆螅螃聿薅蒅羈羅膂薇螁袀膁蝕羇艿膀葿螀膅腿薂肅肁腿蚄袈羇膈螆蟻芆膇蒆袆膂芆薈蠆肈芅蝕襖羄芄莀蚇袀芃薂羃羋芃蚅螆膄節(jié)螇羈肀芁蕆螄羆芀蕿罿袂荿蟻螂膁莈莁羈肇莇蒃螀肅莇蚆肆罿莆螈衿芇蒞蒈螞膃莄薀袇聿莃螞蝕羅蒂莂裊袁蒁蒄蚈膀蒁薆襖膆蒀蝿蚆肂葿蒈羂羈蒈薁螅芇蕆蚃羀膃蒆螅螃聿薅蒅羈羅膂薇螁袀膁蝕羇艿膀葿螀膅腿薂肅肁腿蚄袈羇膈螆蟻芆膇蒆袆膂芆薈蠆肈芅蝕襖羄芄莀蚇袀芃薂羃羋芃蚅螆膄節(jié)螇羈肀芁蕆螄羆芀蕿罿袂荿蟻螂膁莈莁羈肇莇蒃螀肅莇蚆肆罿莆螈衿芇蒞蒈螞膃莄薀袇聿莃螞蝕羅蒂莂裊袁蒁蒄蚈膀蒁薆襖膆蒀蝿蚆肂葿蒈羂羈蒈薁螅芇蕆蚃羀膃蒆螅螃聿薅蒅羈羅膂薇螁袀膁蝕羇艿膀葿螀膅腿薂肅肁腿蚄袈羇膈螆蟻芆膇蒆袆膂芆薈蠆肈芅蝕襖羄芄莀蚇袀芃薂羃羋芃蚅螆膄節(jié)螇羈肀芁蕆螄羆芀蕿罿袂荿蟻螂膁莈莁羈肇莇蒃螀肅莇蚆肆罿莆螈衿芇蒞蒈螞膃莄薀袇聿莃螞蝕羅蒂莂裊袁蒁蒄蚈膀蒁薆襖膆蒀蝿蚆肂葿蒈羂羈蒈薁螅芇蕆蚃羀膃蒆螅螃聿薅蒅羈羅膂薇螁袀膁蝕羇艿膀葿螀膅腿薂肅肁腿蚄袈羇膈螆蟻芆膇蒆袆膂芆薈蠆肈芅蝕襖羄芄莀蚇袀芃薂羃羋芃蚅螆膄節(jié)螇羈肀芁蕆螄羆芀蕿罿袂荿蟻螂膁莈莁羈肇莇蒃螀肅莇蚆肆罿莆螈衿芇蒞蒈螞膃莄薀袇聿莃螞蝕羅蒂莂裊袁蒁蒄蚈膀蒁薆襖膆蒀蝿蚆肂葿蒈羂羈蒈薁螅芇蕆蚃羀膃蒆螅螃聿薅蒅羈羅膂薇螁袀膁蝕羇艿膀葿螀膅腿薂肅肁腿蚄袈羇膈螆蟻芆膇蒆袆膂芆薈蠆肈芅蝕襖羄芄莀蚇袀芃薂羃羋芃蚅螆膄節(jié)螇羈肀芁蕆螄羆芀蕿罿袂荿蟻螂膁莈莁羈肇莇蒃螀肅莇蚆肆罿莆螈衿芇蒞蒈螞膃莄薀袇聿莃螞蝕羅蒂莂裊袁蒁蒄蚈膀蒁薆襖膆蒀蝿蚆肂葿蒈羂羈蒈薁螅芇蕆蚃羀膃蒆螅螃聿薅蒅羈羅膂薇螁袀膁蝕羇艿膀葿螀膅腿薂肅肁腿蚄袈羇膈螆蟻芆膇蒆袆膂芆薈蠆肈芅蝕襖羄芄莀蚇袀芃薂羃羋芃蚅螆膄節(jié)螇羈肀芁蕆螄羆芀蕿罿袂荿蟻螂膁莈莁羈肇莇蒃螀肅莇蚆肆罿莆螈衿芇蒞蒈螞膃莄薀袇聿莃螞蝕羅蒂莂裊袁蒁蒄蚈膀蒁薆襖膆蒀蝿蚆肂葿蒈羂羈蒈薁螅芇蕆蚃羀膃蒆螅螃聿薅蒅羈羅膂薇螁袀膁蝕羇艿膀葿螀膅腿薂肅肁腿蚄袈羇膈螆蟻芆膇蒆袆膂芆薈蠆肈芅蝕襖羄芄莀蚇袀芃薂羃羋芃蚅螆膄節(jié)螇羈肀芁蕆螄羆芀蕿罿袂荿蟻螂膁莈莁羈肇莇蒃螀肅莇蚆肆罿莆螈衿芇蒞蒈螞膃莄薀袇聿莃螞蝕羅蒂莂裊袁蒁蒄蚈膀蒁薆襖膆蒀蝿蚆肂葿蒈羂羈蒈薁螅芇蕆蚃羀膃蒆螅螃聿薅蒅羈羅膂薇螁袀膁蝕羇艿膀葿螀膅腿薂肅肁腿蚄袈羇膈螆蟻芆膇蒆袆膂芆薈蠆肈芅蝕襖羄芄莀蚇袀芃薂羃羋芃蚅螆膄節(jié)螇羈肀芁蕆螄羆芀蕿罿袂荿蟻螂膁莈莁羈肇莇蒃螀肅莇蚆肆罿莆螈衿芇蒞蒈螞膃莄薀袇聿莃螞蝕羅蒂莂裊袁蒁蒄蚈膀蒁薆襖膆蒀蝿蚆肂葿蒈羂羈蒈薁螅芇蕆蚃羀膃蒆螅螃聿薅蒅羈羅膂薇螁袀膁蝕羇艿膀葿螀膅腿薂肅肁腿蚄袈羇膈螆蟻芆膇蒆袆膂芆薈蠆肈芅蝕襖羄芄莀蚇袀芃薂羃羋芃蚅螆膄節(jié)螇羈肀芁蕆螄羆芀蕿罿袂荿蟻螂膁莈莁羈肇莇蒃螀肅莇蚆肆罿莆螈衿芇蒞蒈螞膃莄薀袇聿莃螞蝕羅蒂莂裊袁蒁蒄蚈膀蒁薆襖膆蒀蝿蚆肂葿蒈羂羈蒈薁螅芇蕆蚃羀膃蒆螅螃聿薅蒅羈羅膂薇螁袀膁蝕羇艿膀葿螀膅腿薂肅肁腿蚄袈羇膈螆蟻芆膇蒆袆膂芆薈蠆肈芅蝕襖羄芄莀蚇袀芃薂羃羋芃蚅螆膄節(jié)螇羈肀芁蕆螄羆芀蕿罿袂荿蟻螂膁莈莁羈肇莇蒃螀肅莇蚆肆罿莆螈衿芇蒞蒈螞膃莄薀袇聿莃螞蝕羅蒂莂裊袁蒁蒄蚈膀蒁薆襖膆蒀蝿蚆肂葿蒈羂羈蒈薁螅芇蕆蚃羀膃蒆螅螃聿薅蒅羈羅膂薇螁袀膁蝕羇艿膀葿螀膅腿薂肅肁腿蚄袈羇膈螆蟻芆膇蒆袆膂芆薈蠆肈芅蝕襖羄芄莀蚇袀芃薂羃羋芃蚅螆膄節(jié)螇羈肀芁蕆螄羆芀蕿罿袂荿蟻螂膁莈莁羈肇莇蒃螀肅莇蚆肆罿莆螈衿芇蒞蒈螞膃莄薀袇聿莃螞蝕羅蒂莂裊袁蒁蒄蚈膀蒁薆襖膆蒀蝿蚆肂葿蒈羂羈蒈薁螅芇蕆蚃羀膃蒆螅螃聿薅蒅羈羅膂薇螁袀膁蝕羇艿膀葿螀膅腿薂肅肁腿蚄袈羇膈螆蟻芆膇蒆袆膂芆薈蠆肈芅蝕襖羄芄莀蚇袀芃薂羃羋芃蚅螆膄節(jié)螇羈肀芁蕆螄羆芀蕿罿袂荿蟻螂膁莈莁羈肇莇蒃螀肅莇蚆肆罿莆螈衿芇蒞蒈螞膃莄薀袇聿莃螞蝕羅蒂莂裊袁蒁蒄蚈膀蒁薆襖膆蒀蝿蚆肂葿蒈羂羈蒈薁螅芇蕆蚃羀膃蒆螅螃聿薅蒅羈羅膂薇螁袀膁蝕羇艿膀葿螀膅腿薂肅肁腿蚄袈羇膈螆蟻芆膇蒆袆膂芆薈蠆肈芅蝕襖羄芄莀蚇袀芃薂羃羋芃蚅螆膄節(jié)螇羈肀芁蕆螄羆芀蕿罿袂荿蟻螂膁莈莁羈肇莇蒃螀肅莇蚆肆罿莆螈衿芇蒞蒈螞膃莄薀袇聿莃螞蝕羅蒂莂裊袁蒁蒄蚈膀蒁薆襖膆蒀蝿蚆肂葿蒈羂羈蒈薁螅芇蕆蚃羀膃蒆螅螃聿薅蒅羈羅膂薇螁袀膁蝕羇艿膀葿螀膅腿薂肅肁腿蚄袈羇膈螆蟻芆膇蒆袆膂芆薈蠆肈芅蝕襖羄芄莀蚇袀芃薂羃羋芃蚅螆膄節(jié)螇羈肀芁蕆螄羆芀蕿罿袂荿蟻螂膁莈莁羈肇莇蒃螀肅莇蚆肆罿莆螈衿芇蒞蒈螞膃莄薀袇聿莃螞蝕羅蒂莂裊袁蒁蒄蚈膀蒁薆襖膆蒀蝿蚆肂葿蒈羂羈蒈薁螅芇蕆蚃羀膃蒆螅螃聿薅蒅羈羅膂薇螁袀膁蝕羇艿膀葿螀膅腿薂肅肁腿蚄袈羇膈螆蟻芆膇蒆袆膂芆薈蠆肈芅蝕襖羄芄莀蚇袀芃薂羃羋芃蚅螆膄節(jié)螇羈肀芁蕆螄羆芀蕿罿袂荿蟻螂膁莈莁羈肇莇蒃螀肅莇蚆肆罿莆螈衿芇蒞蒈螞膃莄薀袇聿莃螞蝕羅蒂莂裊袁蒁蒄蚈膀蒁薆襖膆蒀蝿蚆肂葿蒈羂羈蒈薁螅芇蕆蚃羀膃蒆螅螃聿薅蒅羈羅膂薇螁袀膁蝕羇艿膀葿螀膅腿薂肅肁腿蚄袈羇膈螆蟻芆膇蒆袆膂芆薈蠆肈芅蝕襖羄芄莀蚇袀芃薂羃羋芃蚅螆膄節(jié)螇羈肀芁蕆螄羆芀蕿罿袂荿蟻螂膁莈莁羈肇莇蒃螀肅莇蚆肆罿莆螈衿芇蒞蒈螞膃莄薀袇聿莃螞蝕羅蒂莂裊袁蒁蒄蚈膀蒁薆襖膆蒀蝿蚆肂葿蒈羂羈蒈薁螅芇蕆蚃羀膃蒆螅螃聿薅蒅羈羅膂薇螁袀膁蝕羇艿膀葿螀膅腿薂肅肁腿蚄袈羇膈螆蟻芆膇蒆袆膂芆薈蠆肈芅蝕襖羄芄莀蚇袀芃薂羃羋芃蚅螆膄節(jié)螇羈肀芁蕆螄羆芀蕿罿袂荿蟻螂膁莈莁羈肇莇蒃螀肅莇蚆肆罿莆螈衿芇蒞蒈螞膃莄薀袇聿莃螞蝕羅蒂莂裊袁蒁蒄蚈膀蒁薆襖膆蒀蝿蚆肂葿蒈羂羈蒈薁螅芇蕆蚃羀膃蒆螅螃聿薅蒅羈羅膂薇螁袀膁蝕羇艿膀葿螀膅腿薂肅肁腿蚄袈羇膈螆蟻芆膇蒆袆膂芆薈蠆肈芅蝕襖羄芄莀蚇袀芃薂羃羋芃蚅螆膄節(jié)螇羈肀芁蕆螄羆芀蕿罿袂荿蟻螂膁莈莁羈肇莇蒃螀肅莇蚆肆罿莆螈衿芇蒞蒈螞膃莄薀袇聿莃螞蝕羅蒂莂裊袁蒁蒄蚈膀蒁薆襖膆蒀蝿蚆肂葿蒈羂羈蒈薁螅芇蕆蚃羀膃蒆螅螃聿薅蒅羈羅膂薇螁袀膁蝕羇艿膀葿螀膅腿薂肅肁腿蚄袈羇膈螆蟻芆膇蒆袆膂芆薈蠆肈芅蝕襖羄芄莀蚇袀芃薂羃羋芃蚅螆膄節(jié)螇羈肀芁蕆螄羆芀蕿罿袂荿蟻螂膁莈莁羈肇莇蒃螀肅莇蚆肆罿莆螈衿芇蒞蒈螞膃莄薀袇聿莃螞蝕羅蒂莂裊袁蒁蒄蚈膀蒁薆襖膆蒀蝿蚆肂葿蒈羂羈蒈薁螅芇蕆蚃羀膃蒆螅螃聿薅蒅羈羅膂薇螁袀膁蝕羇艿膀葿螀膅腿薂肅肁腿蚄袈羇膈螆蟻芆膇蒆袆膂芆薈蠆肈芅蝕襖羄芄莀蚇袀芃薂羃羋芃蚅螆膄節(jié)螇羈肀芁蕆螄羆芀蕿罿袂荿蟻螂膁莈莁羈肇莇蒃螀肅莇蚆肆罿莆螈衿芇蒞蒈螞膃莄薀袇聿莃螞蝕羅蒂莂裊袁蒁蒄蚈膀蒁薆襖膆蒀蝿蚆肂葿蒈羂羈蒈薁螅芇蕆蚃羀膃蒆螅螃聿薅蒅羈羅膂薇螁袀膁蝕羇艿膀葿螀膅腿薂肅肁腿蚄袈羇膈螆蟻芆膇蒆袆膂芆薈蠆肈芅蝕襖羄芄莀蚇袀芃薂羃羋芃蚅螆膄節(jié)螇羈肀芁蕆螄羆芀蕿罿袂荿蟻螂膁莈莁羈肇莇蒃螀肅莇蚆肆罿莆螈衿芇蒞蒈螞膃莄薀袇聿莃螞蝕羅蒂莂裊袁蒁蒄蚈膀蒁薆襖膆蒀蝿蚆肂葿蒈羂羈蒈薁螅芇蕆蚃羀膃蒆螅螃聿薅蒅羈羅膂薇螁袀膁蝕羇艿膀葿螀膅腿薂肅肁腿蚄袈羇膈螆蟻芆膇蒆袆膂芆薈蠆肈芅蝕襖羄芄莀蚇袀芃薂羃羋芃蚅螆膄節(jié)螇羈肀芁蕆螄羆芀蕿罿袂荿蟻螂膁莈莁羈肇莇蒃螀肅莇蚆肆罿莆螈衿芇蒞蒈螞膃莄薀袇聿莃螞蝕羅蒂莂裊袁蒁蒄蚈膀蒁薆襖膆蒀蝿蚆肂葿蒈羂羈蒈薁螅芇蕆蚃羀膃蒆螅螃聿薅蒅羈羅膂薇螁袀膁蝕羇艿膀葿螀膅腿薂肅肁腿蚄袈羇膈螆蟻芆膇蒆袆膂芆薈蠆肈芅蝕襖羄芄莀蚇袀芃薂羃羋芃蚅螆膄節(jié)螇羈肀芁蕆螄羆芀蕿罿袂荿蟻螂膁莈莁羈肇莇蒃螀肅莇蚆肆罿莆螈衿芇蒞蒈螞膃莄薀袇聿莃螞蝕羅蒂莂裊袁蒁蒄蚈膀蒁薆襖膆蒀蝿蚆肂葿蒈羂羈蒈薁螅芇蕆蚃羀膃蒆螅螃聿薅蒅羈羅膂薇螁袀膁蝕羇艿膀葿螀膅腿薂肅肁腿蚄袈羇膈螆蟻芆膇蒆袆膂芆薈蠆肈芅蝕襖羄芄莀蚇袀芃薂羃羋芃蚅螆膄節(jié)螇羈肀芁蕆螄羆芀蕿罿袂荿蟻螂膁莈莁羈肇莇蒃螀肅莇蚆肆罿莆螈衿芇蒞蒈螞膃莄薀袇聿莃螞蝕羅蒂莂裊袁蒁蒄蚈膀蒁薆襖膆蒀蝿蚆肂葿蒈羂羈蒈薁螅芇蕆蚃羀膃蒆螅螃聿薅蒅羈羅膂薇螁袀膁蝕羇艿膀葿螀膅腿薂肅肁腿蚄袈羇膈螆蟻芆膇蒆袆膂芆薈蠆肈芅蝕襖羄芄莀蚇袀芃薂羃羋芃 C程序設(shè)計(jì)(第四版)(譚浩強(qiáng))第一章課后習(xí)題答案P006 1.1 向屏幕輸出文字.#include <stdio.h> /預(yù)編譯. 代碼均調(diào)試成功,若有失誤大多不是代碼問題.自已找找. int main()printf("Welcome to n"); return 0; /與int main對應(yīng),為了程序可移植性,建議全用int main + return 0;.P008 1.2 求兩個(gè)數(shù)的和.#include <stdio.h>int main()int a,b,sum;a=5;b=4;sum=a+b;printf("The sum is %d .n",sum);return 0;P008 1.3 調(diào)用函數(shù)比較兩個(gè)數(shù)的大小.#include <stdio.h>int main()int max(int x,int y); /被調(diào)用函數(shù)在主函數(shù)后面,用前先聲明.int a,b,c;scanf("%d,%d",&a,&b); /輸入時(shí)要按格式來,此處的逗號,用空格會(huì)發(fā)生錯(cuò)誤.c=max(a,b); /a,b作為實(shí)參傳入被調(diào)用函數(shù)中.printf("The max is %d .n",c);return 0;int max(int x,int y) /定義了兩個(gè)形參. int z; /z屬于局部變量,可與主函數(shù)中相同名字.if (x>y)z=x;elsez=y;return(z); /z作為整個(gè)程序的出口值,賦給主函數(shù)中的c.P015 0.6 三個(gè)數(shù)的大小.(數(shù)字0表示課后練習(xí)題)#include <stdio.h>int main()int a,b,c,d; /d是用于存儲(chǔ)最大值的.int max(int x , int y , int z); /測試可知,在VS2008中,可以不預(yù)先聲明.printf("Please input 3 numbers :n");scanf("%d %d %d",&a,&b,&c); d=max(a,b,c); /調(diào)用函數(shù)中有三個(gè)形參,這里需要傳入三個(gè)實(shí)參,才可運(yùn)算.printf("The max is :%d .n",d); / d可以換成max(a,b,c).int max(int x , int y , int z)int m;if (x>y && x>z) /求三者之大的一種方法.m=x;if (y>x && y>z)m=y;if (z>y && z>x)m=z;return (m); /返回值m給主函數(shù)中的d.C程序設(shè)計(jì)(第四版)(譚浩強(qiáng))第2章課后習(xí)題答案算法程序的靈魂P(guān)017 2.1 計(jì)算機(jī)1-5相乘的積.#include <stdio.h>int main()int i,s=1; /在執(zhí)行數(shù)值操作前一定要先有個(gè)初值.for(i=1;i<6;i+) /這里是到6.s=s*i; /相乘printf("The sum is %d .n",s);return 0;#include <stdio.h> /作出要求:換成1到11間奇數(shù)相乘.int main()int i,s=1; /在執(zhí)行數(shù)值操作前一定要先有個(gè)初值.for(i=1;i<12;i+) /這里是到,但題目要求的是取單數(shù).也可以是i=i+2if(i%2!=0) /i對取模,值為非為奇數(shù);為則為偶數(shù).s=s*i;elsecontinue; /跳過這個(gè)for循環(huán)的這一次,執(zhí)行下一次.printf("The sum is %d .n",s);return 0;P019 2.2 按要求輸出80分以上的學(xué)生信息.暫時(shí)沒法做.P019 2.3 判斷2000-2500年中的閏年,并輸出.年的概念是地球圍繞太陽一周的時(shí)間(所謂公轉(zhuǎn)周期)稱為一年,這個(gè)周期是相當(dāng)穩(wěn)定的,很長時(shí)間也不會(huì)變動(dòng)1秒,但是真正的一年是365.2423天(目前)。所以,如果每年定義為365天的話,1年就會(huì)多出0.2423天,4年就會(huì)多出0.9692天,非常接近1天,這樣閏年就出現(xiàn)了,也就是每4年要有1年設(shè)置為366天,來抵消這多出的1天。規(guī)則為:1)如果年份能被4整除,則該年計(jì)為閏年;可是,假如不做調(diào)整的話,當(dāng)400年的時(shí)候,累計(jì)才多出96.92天,接近于多出97天,閏年的設(shè)置卻多出來100天,所以要在400年內(nèi),再撤銷3個(gè)閏年。怎么撤銷呢?就有了下面這個(gè)規(guī)則:2)如果年份能被100整除,則不計(jì)為閏年;問題又來了,400年里有4個(gè)100年吧,去掉后四個(gè)100年后,又少了一個(gè),所以再加一個(gè)規(guī)則就是:3)如果年份能被400整除,則計(jì)為閏年。簡單說來每400年里設(shè)置了97個(gè)閏年,也就是400里的前3個(gè)100年不設(shè)置閏年,誤差被調(diào)整到400年僅有0.08天。#include <stdio.h>int main()int i;for(i=2000;i<=2200;i+)if(i%4=0 && i%100!=0)|i%400=0) /閏年的經(jīng)典判斷條件.printf("%d is a leap year !n",i);elseprintf("%d is not a leap year !n",i);P020 2.4 求(1)-(1/2)+(1/3)+(1/99)-(1/100)的值.#include <stdio.h>int main()float sign=1 , sum=0 , deno , term ; /關(guān)于有小數(shù)的計(jì)算應(yīng)該用float.for (deno=1;deno<=100;deno+)term=sign*(1/deno); /term臨時(shí)值,sing符號,deno為分母.sum=sum+term; /第一次總?cè)鎯?chǔ).sign=(-1)*sign; /換號.printf("The sum of deno(指定值) is %f .n",sum); return 0; /若是到100的話,結(jié)果為0.68172P021 2.5 得到一個(gè)大于3的數(shù),并判斷是否為素?cái)?shù).#include <stdio.h>int main() int i , num ,n ; /像13,37,這樣只能讓和它本身除以外,沒有其它除數(shù)的叫素?cái)?shù).printf("Please input a number :n"); /獲取一個(gè)數(shù)值scanf("%d",&num);for(i=2;i<num;i+) /在到此數(shù)值間進(jìn)行循環(huán)除,如果除得盡,就不滿足素?cái)?shù)要求.if(num%i=0) /除得盡,則不是.n=1;break; /設(shè)置跳出,才不會(huì)執(zhí)行多次.n=0; /按程序走的話,這里會(huì)執(zhí)行多次,不能用printf語句,會(huì)輸出多次.if(n=0) /單出口問題,雖然n=0執(zhí)行多次,但仍然是n=0,這樣才會(huì)只輸出一次.printf("It is do a prime number !"); /如果是100-200可以加個(gè)”%d”,nmu進(jìn)去.elseprintf("It is not a prime number !");return 0;2.6-2.10要求用流程圖表示上列算法.2.11-2.16要求用N-S圖表示上列算法. 還要偽代碼P036 0.1 調(diào)換二個(gè)參數(shù)的值.#include <stdio.h>int main() char a=a,b=b,c;c=a;a=b;b=c;printf("a now is %c , b now is %c !n",a,b);return 0;P036 0.2 輸入10個(gè)數(shù),并輸出最大的那一個(gè)數(shù).#include <stdio.h>int main() int i,a10,s=0 ;printf("Please input 10 numbers :n");for(i=0;i<=9;i+)scanf("%d",&ai);for(i=0;i<=9;i+)if (s<ai) s=ai;printf("%d is the biggest number !n",s);return 0;P036 0.3 按大小順序輸出一些數(shù).#include <stdio.h>int main() int i , j , a4 , s=0 ;printf("Please input 5 numbers :n"); /此處要回車.for (i=0 ; i<=4 ; i+)scanf("%d",&ai); /這是取多個(gè)數(shù)的代碼,可以用while控制取到n符為止.for (i=0 ; i<=3 ; i+) /雙重循環(huán),先一個(gè)外循,再輪所有小循,輪完后再下一個(gè)大循.for (j=i+1 ; j<=4 ; j+) /第一個(gè)循環(huán)是至n-1,第二個(gè)循環(huán)是到n.if (ai>aj) /如果成立,則對換,小于號表示降序排列,大于號表示升序排列.s=ai;ai=aj;aj=s;for (i=0 ; i<=4 ; i+) /重新定義循環(huán)輸出數(shù)組中新排列的數(shù).printf("%d-",ai);return 0;P036 0.4 求1至100的總合.#include <stdio.h>int main()int i , sum=0 ; /這是一個(gè)簡單的程序.for (i=0 ; i<101 ; i+)sum=sum+i;printf("The sum of one to one hundred is %d !n",sum);return 0;P036 0.5 判斷一個(gè)數(shù)能否同時(shí)被3和5整除.#include <stdio.h>int main()int n ;printf("Please input a number :n");scanf("%d",&n);if(n%3=0&&n%5=0) /關(guān)鍵句,用"并"的符號.printf ("Can be devide by 3 and 5 !n");elseprintf ("Can not be devide by 3 and 5 !n");return 0;P036 0.6 輸出100-200間的素?cái)?shù)./*第一種方法.#include<stdio.h> /網(wǎng)絡(luò)版本,采用調(diào)用函數(shù)和求根取素.#include<math.h> /下面用到sqrt,所以需要包含數(shù)據(jù)函數(shù).sqrt是求根,屬數(shù)學(xué)函數(shù).int main() /學(xué)會(huì)一個(gè)程序采用”主函數(shù)+被調(diào)用函數(shù)”的方式,會(huì)比較規(guī)范.int i;for (i=100; i<=200; i+) /為了書寫規(guī)范,最好加上,以示清范圍.if(prime_number(i) = 1) /i是實(shí)參.printf("%d ",i);return 0;int prime_number(double m) /m是形參.int j,k;k=(int)sqrt(m); /求根,(int)是強(qiáng)制轉(zhuǎn)換,求根里要是浮點(diǎn)型.for(j=2;j<=k;j+) if(m%j=0)return 0; /此值返回給主函數(shù)中的實(shí)參.return 1;/*第二種方法.#include <stdio.h>#include <math.h>int main()int i;for(i=100;i<=200;i+) /指定至間.if(prime(i)=1) /這里i為實(shí)參,傳入形參j中進(jìn)行運(yùn)算,然后再由形參j帶出返回.printf ("%d is the prime number !n",i);return 0;int prime(int j) /j是形參,用于接收實(shí)參i給的值.int m, n;m=(int)sqrt(j);for (n=2;n<=m;n+)if(j%n=0)return 0; /返回值,0為不是素?cái)?shù),1是素?cái)?shù).return 1;/*第二種方法.請仿照2.5來寫.P036 0.7 最大公約數(shù)和最小公倍數(shù).#include <stdio.h> /最大公約數(shù)用累除法,除到無余數(shù)時(shí)的被除數(shù)是最大公約數(shù).main ()int m, n, c, d;int gcd(); /這是最大公約數(shù)的縮寫,此處調(diào)用函數(shù),可以不寫里面的實(shí)參.int lcm(); /這是最小公倍數(shù)的縮寫,此處調(diào)用函數(shù),可以不寫里面的實(shí)參.printf("Please input two number :n");scanf("%d %d",&m,&n);c=gcd(m,n); /c獲取最大公約數(shù)d=lcm(m,n); /d獲取最小公倍數(shù)printf("The GCD of %d and %d is : %d !n", m, n, c);printf("The LCM of %d and %d is : %d !n", m, n, d); return 0;int gcd(int x, int y) /最大公約數(shù)Greatest Common Divisorint temp;while(x%y!=0) temp=y; /y在下一輪中作為除數(shù),即是下一輪中的X,所以先閃一邊去.y=x%y; /x,y的余數(shù)作為下一輪中的Y,由x%y來取得.x=temp; /剛才temp中存儲(chǔ)了y的值,現(xiàn)在拿出來作為下一輪中的X使用.return y; /這是每一輪中的被除數(shù),按原理來,這就是最大公約數(shù),即累除法的原理.int lcm(int x, int y) /最小公倍數(shù)Lowest Common Multipleint i, temp;if(x<y) /保證二者大的數(shù)在X上,小的數(shù)在Y上.小于號降序,大于號升序. /以下為經(jīng)典三行碼,實(shí)現(xiàn)兩個(gè)數(shù)的互換.temp=x;x=y;y=temp;for(i=1; i<=y; i+) /設(shè)定一個(gè)區(qū)間,從1至小的數(shù)之間的循環(huán).if(!(x*i)%y) /除得盡為零,非零為真,則成立并返回. /如此往復(fù),直到取模無余數(shù),那么小的數(shù)X乘以區(qū)間當(dāng)前的I值,就是最小公倍數(shù). return x*i;最簡單的C程序設(shè)計(jì)順序程序設(shè)計(jì)P037 3.1 把華氏溫度轉(zhuǎn)化為攝氏表示法.#include <stdio.h>float F_to_C(float input_fah) /代表華轉(zhuǎn)攝,input_fah是局部變量.float output_cen;/這里也是局部變量.output_cen=(5.0/9)*(input_fah-32); /函數(shù)的功能體.return output_cen; /返回值,注意,返回值的數(shù)據(jù)類型應(yīng)該和函數(shù)一致.float C_to_F(float input_cen)float output_fah;output_fah=(9.0/5)*input_cen+32; /轉(zhuǎn)換過程.return output_fah;int main()int choice;float input_fah,input_cen,output_fah,output_cen; /局部變量的調(diào)用及參數(shù)傳遞.printf("F_to_C press <1> and C_to_F press <2> !n");scanf("%d",&choice);if(choice=1)printf("Please input fahrenheit :");scanf("%f",&input_fah); /這個(gè)是主函數(shù)定義的變量,雖然和調(diào)用函數(shù)同名.output_cen=F_to_C(input_fah); printf("The 華氏 is %d , 攝氏 is %d .",(int)input_fah,(int)output_cen); if(choice=2)printf("Please input centigrade :");scanf("%f",&input_cen);output_fah=C_to_F(input_cen);printf("The Centigrade is %d , and the Fahrenheit is %d .",(int)input_cen,(int)output_fah);return 0;P038 3.2 計(jì)算存款利息(關(guān)于精度問題).#include <stdio.h>int main()float p0=1000,r1=0.0036,r2=0.0225,r3=0.0198,p1,p2,p3;p1=p0*(1+r1);p2=p0*(1+r2);p3=p0*(1+r3/2)*(1+r3/2);printf("p1=%fnp2=%fnp3=%fn",p1,p2,p3); return 0;P055 3.3 大寫轉(zhuǎn)換成小寫#include <stdio.h>int main() /小寫范圍是97-122,大寫范圍是65-90,大寫加上即得小寫.26個(gè)字母.char c1, c2;c1=A;c2=c1+32;printf("%c %d",c2,c2);return 0;P059 3.4 給出三角形邊長,算出面積.#include <stdio.h>#include <math.h>int main() double a=3.67, b=5.43, c=6.21, s, area;s=(a+b+c)/2;area=sqrt(s*(s-a)*(s-b)*(s-c);printf("area is %fn",area); /默認(rèn)可以組成三角形.return 0;P065 3.5 求一無二次等式的根,默認(rèn)兩個(gè)不同根.#include <stdio.h>#include <math.h>int main() double a,b,c,disc,x1,x2,p,q;scanf("%lf %lf %lf",&a,&b,&c);disc=b*b-4*a*c;p=-b/(2.0*a);q=sqrt(disc)/(2.0*a);x1=p+q;x2=p-q;printf("x1=%7.2fnx2=%7.2f",x1,x2);return 0;P071 3.6 用%f輸出實(shí)數(shù),只能得到六位小數(shù).#include <stdio.h>#include <math.h>int main() double a=1.0; /1是整型,1.0是浮點(diǎn)型,默認(rèn)是double.可以是float.printf("%.9fn",a/3); return 0;P072 3.7 float型數(shù)據(jù)的有效位數(shù).#include <stdio.h>#include <math.h>int main()float a; /輸出的結(jié)果是.333252,float精度6位,所以第七位后不可信.a=10000/3.0;printf("%fn",a);return 0;P078 3.8 使用putchar函數(shù)輸出.#include <stdio.h>#include <math.h>int main()char a=B,b=O,c=Y;putchar(a);putchar(b);putchar(c);putchar(n);putchar(101); /101是A的ASCII代碼的縮寫,因?yàn)榇撕瘮?shù)只能輸出字符.putchar(66);return 0;P079 3.9 使用getchar得到字符.#include <stdio.h>#include <math.h>int main()char a,b,c;a=getchar();b=getchar();c=getchar();putchar(a);putchar(b);putchar(c); /這也是基本回顯的C程序代碼.putchar(n);return 0;P081 3.10 getchar得到大寫,putchar輸出小寫.#include <stdio.h>#include <math.h>int main()char a,b;a=getchar();b=a+32;putchar(b); putchar(n);return 0;P082 0.1 國民生產(chǎn)總值10年后的增長倍數(shù).#include <stdio.h>#include <math.h>int main()double p,r=0.09,n=10;p=pow(1+r),n); /這是數(shù)學(xué)函數(shù), pow(x,y)計(jì)算x的y次方.printf("P is %lf when 10 years later .n",p);return 0; /結(jié)果是0.36倍.P082 0.2 求各種存款的利息數(shù).#include <stdio.h>#include <math.h>int main()double p,r,n; /年份和當(dāng)年利率均有給出.p=1000*(1+5*0.0585);printf("5 years is %lf !n",p); /1292.5,這是全五年期.lf輸出的是double型.p=(1000*(1+2*0.0468);p=(p*(1+3*0.0540);printf("5 years is %lf !n",p); /1270.76,這是先二年,再三年的.p=(1000*(1+3*0.0540);p=(p*(1+2*0.0468);printf("5 years is %lf !n",p); /1270.76,這是先三年,再二年的.證明,是一樣的.p=1000*pow(1+0.0414),5);printf("5 years is %lf !n",p); /1224.86,這難道說是,相對的存死期越久越值錢.p=1000*pow(1+0.072/4),4*5);printf("5 years is %lf !n",p); /1428.74.return 0; P083 0.3 求幾個(gè)月要以還貸.#include <stdio.h>#include <math.h>int main()double m,r=0.01,d=300000,p=6000; m=(log10(p/(p-d*r)/(log10(1+r);printf("%.1lf",m); /按要求只留一個(gè)小數(shù),所以要寫%.1lf.return 0;P084 0.6 字母密碼轉(zhuǎn)換,調(diào)用函數(shù)及臨界處理.#include <stdio.h>char printcode(char f)if(int)f>86&&(int)f<91)|(int)f>118&&(int)f<123)return(f-26+4); /因?yàn)閜utchar會(huì)自動(dòng)返回,所以改成return,因?yàn)檫@是在函數(shù)中,調(diào)用需要返回值.elsereturn(f+4);int main()char a,b,c,d,e;printf("Please input :n");a=getchar(); b=getchar();c=getchar();d=getchar();e=getchar(); /臨界問題.printf("%c%c%c%c%c",printcode(a),printcode(b),printcode(c),printcode(d),printcode(e); putchar(putcharcode(a);putchar(putcharcode(b);putchar(putcharcode(c);putchar(putcharcode(d);putchar(putcharcode(e);return 0; /注意理解自定義函數(shù)的定義,使用,及形參實(shí)參的流向./p84的是計(jì)算問題,自己看著辦,最后要求小數(shù)點(diǎn)后兩位,用的是%.2lf 來實(shí)現(xiàn),因?yàn)闆]有要求實(shí)部,所以m.n格式中m不寫./p84的是定義問題,第一問,兩者都行,但是定義字母時(shí),scanf要寫%c來獲取,而定義數(shù)值時(shí)則要用%d來獲取./ 第二問,putchar貌似只能輸出字符,所以用printf.putchar本身就是字符輸出函數(shù)啦,字符,有木有!字符啊!盡管它的參數(shù)可以是putchar(101),效果是輸出字符A啊./ 第三問,出現(xiàn)"任何"及"無條件",那么答案明顯是"否".可以轉(zhuǎn)換,但要在某此條件下,例如輸出和讀入時(shí),%c是字母,而%d是數(shù)值,看著辦.選擇結(jié)構(gòu)程序設(shè)計(jì)P086 4.1 一無二次方程求根的二分支.#include <stdio.h>#include <math.h>int main() double a,b,c,disc,x1,x2,p,q;scanf("%lf %lf %lf",&a,&b,&c);disc=b*b-4*a*c;if(disc<0) /這是選擇結(jié)構(gòu)和其判斷條件的示例.printf("This equation hasnt real rootsn");elsep=-b/(2.0*a);q=sqrt(disc)/(2.0*a);x1=p+q;x2=p-q;printf("x1=%7.2fnx2=%7.2f",x1,x2);return 0;P087 4.2 二個(gè)數(shù)按大小輸出.#include <stdio.h>int main() /此程序代表按大小順序輸出.float a,b,t;scanf("%f %f",&a,&b); /出錯(cuò)時(shí),注意檢查這里是否按格式輸入了.比如有個(gè)逗號.if(a>b)t=a;a=b;b=t;printf("%5.2f,%5.2fn",a,b);return 0;P088 4.3 三個(gè)數(shù)按大小輸出.#include <stdio.h>int main() /此程序代表按大小順序輸出.float a,b,c,t;scanf("%f %f %f",&a,&b,&c); if(a>b) /此處執(zhí)行后,a為小者.t=a;a=b;b=t;if(a>c) /此處執(zhí)行后,a為小者.t=a;a=c;c=t;if(b>c) /上面已經(jīng)搞定a是最小者,現(xiàn)在對比得出次小者,并且已經(jīng)歸到變量中.t=b;b=c;c=t;printf("%5.2f,%5.2f%5.2fn",a,b,c);return 0;P099 4.4 判斷輸入字符,并最終按小寫輸出.#include <stdio.h>int main()char ch;scanf("%c",&ch);ch=(ch>=A&&ch<=Z)?(ch+32):ch; /條件運(yùn)算符,真取前,假取后.printf("%cn",ch); return 0;P100 4.5 按要求輸出相應(yīng)的Y值.#include <stdio.h>int main()int x,y;scanf("%d",&x);if(x>=0) if(x>0) /這個(gè)范圍要基于x>=0來判斷.y=1;elsey=0;else /這個(gè)是x<0的范圍.y=-1;printf("x=%d,y=%d",x,y);return 0;P102 4.6 switch的簡單應(yīng)用.#include <stdio.h>int main()char grade;scanf("%c",&grade);printf("Your score:");switch(grade)casea:printf("85-100n");break; /當(dāng)多分支結(jié)構(gòu)過于多時(shí),可以用switch來解決.caseb:printf("70-84n");break;casec:printf("60-69n");break;cased:printf("<60n");break;default:printf("Enter data error!n");return 0;P104 4.7 按輸入執(zhí)行操作,并且不分大小寫.#include <stdio.h>void action1(int x,int y)printf("x+y=%dn",x+y);void action2(int x,int y)printf("x*y=%dn",x*y);int main()char ch;int a=15,b=23;ch=getchar();switch(ch)casea:caseA:action1(a,b);break; /a,A共用一個(gè)執(zhí)行語句.caseb:caseB:action2(a,b);break;default:putchar(a); /a可以控制電腦發(fā)出蜂鳴聲.return 0;P106 4.8 用if的分支來做閏年問題#include <stdio.h>int main()int year,leap; printf("Please input the year:n");scanf("%d",&year);if(year%4=0) /400年里,在100個(gè)可除盡4的年里計(jì)算,以下是在全范圍內(nèi)計(jì)算. if(year%100=0) /既是100個(gè)內(nèi)的,又是可以除盡100的,算是且.if(year%400=0) /相當(dāng)于且了兩次,只余下唯一一個(gè).leap=1;else /400年里只有1個(gè)除得盡,其它都不是.leap=0;else /這里的范圍是(year%4=0)&&(year%100!=0)leap=1; /在合法的100內(nèi),又不是2100,2200一類的,當(dāng)然屬閏年.elseleap=0;if(leap)printf("%d is ",year);elseprintf("%d is not ",year);printf("a leap year !"); /不管上面如何判斷,最后還是會(huì)輸出這一句.return 0;P108 4.9 一元二次等式的全計(jì)算過程.#include <stdio.h>#include <math.h>int main()double a,b,c,disc,x1,x2,realpart,imagpart;scanf("%lf %lf %lf",&a,&b,&c);printf("The equati