C语言程序设计基础

C语言技术


课后习题答案

<h2>第5章  选择结构程序设计</h2> <p>一、选择题</p> <p>1.C    2.D    3.B    4.B    5.D</p> <p>二、填空题</p> <p>1.0 2.a的值为2;b的值为1 3.20,30,30 4.1 5.①a&gt;b ②a=b;b=t;</p> <p>三、编程题</p> <p>1.参考代码如下:</p> <pre><code class="language-c">#include &amp;lt;stdio.h&amp;gt; int main() { int x,y; /*定义整型变量x、y*/ printf(&amp;quot;Please input x:&amp;quot;); /*输出屏幕提示*/ scanf(&amp;quot;%d&amp;quot;,&amp;amp;x); /*从键盘输入x的值*/ if(x&amp;lt;0) y=3*x+2; /*根据x的取值计算y的值*/ else y=-x+1; /*根据x的取值计算y的值*/ printf(&amp;quot;y=%d\n&amp;quot;,y); /*输出y的值*/ }</code></pre> <p>2.参考代码如下:</p> <pre><code class="language-c">#include &amp;lt;stdio.h&amp;gt; int main() { int a; printf(&amp;quot;Please enter an integer :&amp;quot;); scanf(&amp;quot;%d&amp;quot;,&amp;amp;a); switch(a) { case 1:printf(&amp;quot;Monday\n&amp;quot;);break; case 2:printf(&amp;quot;Tuesday\n&amp;quot;);break; case 3:printf(&amp;quot;Wednesday\n&amp;quot;);break; case 4:printf(&amp;quot;Thursday\n&amp;quot;);break; case 5:printf(&amp;quot;Friday\n&amp;quot;);break; case 6:printf(&amp;quot;Saturday\n&amp;quot;);break; case 7:printf(&amp;quot;Sunday\n&amp;quot;);break; default:printf(&amp;quot;Error!\n&amp;quot;); } return 0; }</code></pre> <p>3.参考代码如下:</p> <pre><code class="language-c">#include &amp;lt;stdio.h&amp;gt; int main() { float a,b; printf(&amp;quot;inpute the income:&amp;quot;); scanf(&amp;quot;%f&amp;quot;,&amp;amp;a); if(a&amp;lt;=3500) b=0; else if(a&amp;lt;=5000) b=(a-3500)*0.03; else if(a&amp;lt;=9500) b=(5000-3500)*0.03+(a-5000)*0.1; else b=(5000-3500)*0.03+(9500-5000)*0.1+(a-9500)*0.2; printf(&amp;quot;the tax is:%.2f&amp;quot;,b); return 0; }</code></pre> <p>4.参考代码如下:</p> <pre><code class="language-c">#include &amp;lt;stdio.h&amp;gt; int main() { int c,s; float p,w,d,f; printf(&amp;quot;Please enter price,weight,distance:&amp;quot;); /*提示输入数据*/ scanf(&amp;quot;%f,%f,%d&amp;quot;,&amp;amp;p,&amp;amp;w,&amp;amp;s); /*输入单价、重量、距离*/ if(s&amp;gt;=3000) c=12; /*3000km以上为同一折扣*/ else c=s/250; /*3000km以下各段折扣不同,c的值不相同*/ switch(c) { case 0:d=0;break; /*c=0,代表250km以下,折扣d=0*/ case 1:d=2;break; /*c=1,代表250km~500km,折扣d=2%*/ case 2: case 3:d=5;break; /*c=2和3,代表500km~1000km,折扣d=5%*/ case 4: case 5: case 6: case 7:d=8;break; /*c=4~7,代表1000km~2000km,折扣d=8%*/ case 8: case 9: case 10: case 11:d=10;break; /*c=8~11,代表2000km~3000km,折扣d=10%*/ case 12:d=15;break; /*c=12,代表3000km以上,折扣d=15%*/ } f=p*w*s*(1-d/100.0); /*计算总运费*/ printf(&amp;quot;freight=%10.2f\n&amp;quot;,f); /*输出总运费,取两位小数*/ return 0; }</code></pre> <p>5.参考代码如下:</p> <pre><code class="language-c">#include &amp;lt;stdio.h&amp;gt; int main() { int a,i,j,k; printf(&amp;quot;inpute the number(100-999):&amp;quot;); scanf(&amp;quot;%d&amp;quot;,&amp;amp;a); if(a%3==0&amp;amp;&amp;amp;a%5==0&amp;amp;&amp;amp;a%7==0) printf(&amp;quot;can be divided by 3,5,7 &amp;quot;); else if(a%3==0&amp;amp;&amp;amp;a%5==0) printf(&amp;quot;can be divided by 3,5 &amp;quot;); else if(a%3==0&amp;amp;&amp;amp;a%7==0) printf(&amp;quot;can be divided by 3,7 &amp;quot;); else if(a%5==0&amp;amp;&amp;amp;a%7==0) printf(&amp;quot;can be divided by 5,7 &amp;quot;); else if(a%3==0) printf(&amp;quot;can be divided by 3 &amp;quot;); else if(a%5==0) printf(&amp;quot;can be divided by 5 &amp;quot;); else if(a%7==0) printf(&amp;quot;can be divided by 7 &amp;quot;); else printf(&amp;quot;not can be divided by 3 or 5 or 7 &amp;quot;); return 0; }</code></pre>

页面列表

ITEM_HTML