C語言程序設計任務驅動式教程(第3版)(微課版)課后練習答案_第1頁
C語言程序設計任務驅動式教程(第3版)(微課版)課后練習答案_第2頁
C語言程序設計任務驅動式教程(第3版)(微課版)課后練習答案_第3頁
C語言程序設計任務驅動式教程(第3版)(微課版)課后練習答案_第4頁
C語言程序設計任務驅動式教程(第3版)(微課版)課后練習答案_第5頁
已閱讀5頁,還剩23頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

:乂;河讓X交聊業(yè)我噌凈落

HBBE1COLLKGEOFINDUSTRYANDTECHNOLOGY

?語言程海微初錦后思考s洌秣答案

編著:宋鐵橋、劉潔、趙葉

計算機技術系

二。二一年一月

第一單元

1.討論題(略)

2.選擇題

(1)B(2)A(3)B(4)A(5)A(6)D

3.填空題

(1).c.obj.exe

(2)/**/

(3)編輯、編譯、連接、運行

4.編程題

(1)

#include<stdio.h>

voidmain()

p「jntf("********************************

printf("Thisismyfirstprogram");

printf("******************************")*

(2)

#include<stdio.h>

voidmain()

printf("****\n");

printf("*\n");

printf("*\n");

printf("*\n");

printf("****\n");

)

第二單元

L討論題(略)

2,選擇題(1)C(2)C(3)C(4)C(5)C(6)B(7)C(8)A(9)

A(10)C(11)C

3.填空題

(1)單引號雙引號(2)優(yōu)先級自左向右(3)5

(4)511

4.編程題

(1)

#include<stdio.h>

voidmain()

(

intage=18;

floatheight=180.5;

doubleweight=130.1;

chargender='M';

printf("age=%d,height=%.2f/weight=%.2lf,gender=%c\n"/age,height,w

eight,gender);

(2)

#include<stdio.h>

#include<math.h>

voidmain()

(

intn;

floattotal,benjin;

printf(“請輸入存款年限和本金:”);

scanf("%d",&n);

scanf("%f",&benjin);

total=benjin*pow(l+0.00225,n);

printf("total=%f",totaI);

)

第三單元

L討論題(略)

2.單選題

(1)A(2)D(3)D(4)D(5)A

4.分析程序題

(1)3,2(2)a=325x=3.14(3)-14(4)12

5.編程題

(1)

#include<stdio.h>

voidmain()

(

doublea,b,x;

printf(〃請輸入a,b的值:〃);

scanf("%f%f〃,&a,&b);

x=-b/a;

printf(//x=%f/?;

)

(2)

#include<stdio.h>

voidmain()

(

intx,a,b,c;

printf("請輸入一個三位的整數;

scanf(〃%d〃,&x);

a=x/100;

b=x/10%10;

c=x%10;

printf("百位數字a=%d十位數字b=%d個位數字c=%d,,,a,b,c);

第四單元

1.討論題(略)

2.選擇題

(1)D(2)C(3)B(4)B

3.分析程序并上機操作

(1)

x=0y=lz=0

x=0y=0z=0

x=-ly=0z=0

(2)

**Q****2**

4.填空題

(1)1(2)y%2!=0或y%2(3)585858(4)0(5)3

5.編程題

(1)

#include<stdio.h>

voidmain()

(

charch;

printf(〃請輸入一個字符:〃);

scanf(%c^&ch);

if(ch>=,A,&&ch<=,Z")

printf(〃輸入的字符為大寫字母,

elseif(ch>=,a,&&ch<=,z,)

printf(〃輸入的字符為小寫字母〃);

elseif(ch>=/0/&&ch<=,9,)

printf("輸入的字符為數字字符〃);

else

printf("輸入的字符為其它字符〃);

)

(2)

#include<stdio.h>

voidmain()

(

floatx,y,z,a;

printf(“請輸入個人工資:”);

scanf(“%f,&x);

a=x-5000;

if(a<=3OOO)

y=a*0.03;

elseif(a<=12OOO)

y=3000*0.03+(a-3000)*0.1;

elseif(a<20000)

y=3000*0.03+9000*0.1+(a-12000)*0.2;

z=x-y;

("個人所得稅是:%個人所得是:

printf.2f\n,%.2f\n",y/z);

)

#include<stdio.h>

voidmain()

(

inta,b,c,t;

printf(〃請輸入三個數〃);

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

if(a>b)

{t=a;a=b;b=t;}

if(a>c)

{t=a;a=c;c=t;}

if(b>c)

{t=b;b=c;c=t;}

("從小到大的順序為:,;

printf%d,%d,%da,b,c);

)

(4)

#include<stdio.h>

voidmain()

inta;

printf(〃請輸入產品的分數:〃);

scanf("%d〃,&a);

switch(a/10)

(

case10:

case9:{printf(“產品等級為A");break;}

case8:{printf("產品等級為B");break;}

case7:

case6:{printf("產品等級為C");break;}

defaul七{printf(“產品等級為D〃);break;}

)

第五單元

1.討論題(略)

2.選擇題

(1)C(2)C(3)A(4)D(5)A(6)B

3.分析程序并上機操作

(1)1次

(2)

(3)

4.填空題

(1)t*10或10*t

(2)s+=i+l

5.編程題

(i)判斷字符類型,直到輸入結束。

#include<stdio.h>

voidmain()

(

charch;

do

(

printf("請輸入一個字符:");

scanf(”%ls”,&ch);

if(ch>='A'&&ch<='Z')

printf(”大寫字母\n?);

elseif(ch>='a,&&ch<='z')

printf"J寫字母\n”);

elseif(ch>='0,&&ch<='9')

printf("數字\n”);

else

printf("其他\n");

}while(ch!='#');

(2)循環(huán)輸入年份月份,輸出該月份的天數,直到年份輸入0結束。

voidmain()

(

intyeacmonthjeap;

printf("請輸入一個年份:");

scanf("%d",&year);

while(year!=O)

(

printf("請輸入一個月份:“);

scanf("%d",&month);

switch(month)

(

case1:

case3:

case5:

case7:

case8:

case10:

case12:printf('該月為31天\n");break;

case4:

case6:

case9:

casell:printf("該月為30天\n");break;

case2:if((year%4==0)&&(year%100!=0)11(year%400==0))

printf("該月為29—

elseprintf("該月為28天\n");

break;

)

printf("請輸入一個年份:");

scanf("%d",&year);

)

)

?fl''D:\C?a/JMS^\5\Debug\skxl5_4_2.exe'

請輸入一個年份:2G20

請輜入一個月初■:?

該月為29天

請輸入一個年份:2。21

請輸入一個月份:5

該月為31天

請輸入一個年份:。

Pressanykeytocontinue

(3)請將計算器程序改為循環(huán)程序。

include<stdio.h>

voidmain()

(

inta,b,n;

do

printf(H***************************************\nM),

printf("歡迎使用小型計算器\n");

printf("設計人:李麗紅\n");

printf(H***************************************\nH),

printff"L加法運算\n");

printf("2.減法運算\n");

printf("3.乘法運算\n");

printff"4.除法運算\n");

printf("5.退出\n");

printf(”***************************************\n*)?

printf("\n");

printf("請選擇:

scanf(”%d”,&n);

switch(n)

|

caseLprintf("請輸入兩個數scanf("%d%d",&a,&b);printf("兩數相加

是:%d\n",a+b);break;

case2:printf("請輸入兩個數scanf("%d%d",&a,&b);printf("兩數相減

是:%d\n",a-b);break;

case3:printf("請輸入兩個數scanf("%d%d",&a,&b);printf("兩數相乘

是:%d\rT,a*b);break;

case4:printf("請輸入兩個數");scanf("%d%d",&a,&b);printf("兩數相除

是:%6.2f\rT,(float)a/b);break;

case5:exit(0);

)

}while(n!=5);

(4)嘗試將第4章的選擇結構程序改為循環(huán)。

(5)輸出以下圖案:

#include<stdio.h>

voidmain()

(

intnJJ;

printf("請輸入行數:");

scanf("%d"z&n);

for{i=l;i<=n;i++)

for(j=l;j<=i;j++)

printf("*");

printf("\n");

)

|=|回漢|

■,"D:\Ci§advg^\5\Debug\skxl5_4_5.exe*

請輸入行數:4

MX

XXX

Pressanykeytocontinue

第六單元

1.選擇題

(1)C(2)B(3)C(4)B(5)C(6)C(7)D(8)A(9)C(10)

D

2.填空題

(1)k=p

(2)&a[i]i%10==0a[i]

(3)i

3.編程題

(1)冒泡排序的過程是:從aO開始,逐個比較ai和ai+1,(i=0,

1,2,……n-2)若ai>ai+l則交換ai和ai+1的位置,第一趟比較完成后

an-1是序列中最大的元素。第二趟再從aO開始,逐個比較ai和ai+1,

(i=0,1,2,……n-3)若ai>ai+l則交換ai和ai+1的位置,第一趟比二

較完成后an-2是序列中最大的元素。如此反復進行n-l次冒泡排序后,

原來序列中的元素就排列好了。

#include"string.h"

main()

(

inta[ll];

intij,t;

printf("input10numbers:\n");

for(i=l;i<ll;i++)

scanf("%d",&a[i]);

printf("\n");

for(j=l;j<=9;j++)

for(i=l;i<=10-j;i++)

if(a[i]>a[i+l])

t=a[i];

a[i]=a[i+l];

a[i+l]=t;

)

printf("thesortednumbers:\n");

for(i=l;i<ll;i++)

printf("%d",a[i]);

)

(2)

#include<stdio.h>

#include<string.h>

voidmain()

{intij;

charsoustr[20],desstr[20];

printf(“請輸入兩個字符串:\n“);

gets(soustr);

gets(desstr);

printf(“連接后的字符目是:\n“);

i=strlen(soustr);

for(j=0;j<=strlen(soustr);j++,i++)

(

soustr[i]=desstr[j];

)

puts(soustr);

}

(3)

#include<stdio.h>

#include<string.h>

main()

(

chara[20];

intc,i,sum=0;

printf(“請輸入一個字符串:\n“);

gets(a);

for(i=0;a[i]!='\0';i++)

if<(a[i]>=,0')&&(a[i]<='9'))

sum++;

)

printf(“輸入了%d個數字字符\n】um);

)

第七單元

1.討論題(略)

2.選擇題

(1)D(2)B(3)D(4)A(5)C(6)C

3.填空題

(1)int(2)void(3)float(4)值地址(5)嵌套調用遞歸調

用(6)聲明(7)局部變量全局變量自動變量靜態(tài)變量(8)

doublefun(longm,doublen);doublefun(long,double);(9)自動變量

靜態(tài)局部變量靜態(tài)全局變量寄存器變量(10)84

4.編程題

(1)

#include<stdio.h>

voidmain()

(

floata,b;

chard;

voidjiafa(floatajloatb);

voidjianfa(floata,floatb);

voidchengfa(floata,floatb);

voidchufa(floata,floatb);

do

(

printf("PleaseenterthetwoNumbers,separatedbySpaces:\n");

scanf("%f

printf("Pleaseselectoperationway:(?,*/八,s,!)\n“);

scanf("%s",&d);

switch(d)

(

case'+':jiafa(a,b);break;

case'-':jianfa(a,b);break;

case'*':chengfa(a,b);break;

case7':chufa(a,b);break;

default:printf("inputerror\n");

)

printf("Doyouwanttocontinue(Y/Nory/n)");

fflush(stdin);

}while(toupper(getchar())=='Y');

)

voidjiafa(floatajloatb)

(

printf("a+b=%f\n",a+b);

}

voidjianfa(floata,floatb)

(

printf("a-b=%f\n"/a-b);

)

voidchengfa(floata,floatb)

(

printf("a*b=%f\n",a*b);

}

voidchufa(floata,floatb)

printf("a/b=%f\n"za/b);

)

(2)

#include<stdio.h>

intmax(intx,inty)

(

intz;

if(x>y)

z=x;

else

z=Y;

returnz;

}

voidmain()

(

inta,b,c;

printf("請輸入兩個數據:");

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

c=max(a,b);

("兩個數中的最大數是:

printf%d\n",c);

)

第八單元

1.討論題(略)

2.選擇題

(1)B(2)B(3)B(4)C(5)B(6)D(7)C(8)A

3.填空題

(1)'\0'、*p++

(2)40,2

4.編程題

(1)

#include<stdio.h>

voidmain()

(

inta[10],max=0,min=0;*p;

inti;

P=a;

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

scanf("%d〃,p+i);

max=min=p[O];

for(i=l;i<=9;i++)

if(*(p+i)>max)max=*(p+i);

if(*(p+i)<min)min=*(p+i);

)

,/,,

printf(max=%d,min=%d/max/min);

請輸

數87

良好

繼續(xù)1

退出0

tocontinue

(2)

#include<stdio.h>

voidmain()

(

inta,*p;

printf("請輸入a:");

scanf("%d",&a);

P=&a;

if(*p<60)

printf("不及格)

elseif(*p<70)

printf("及格)

elseif(*p<80)

printf("中等”);

elseif(*p<90)

printf(“良好”);

elseif(*p<=100)

printf(“優(yōu)秀,

(3)

#include<stdio.h>

voidmain()

inta,b,n,*pl,*p2;

pl=&a;p2=&b;

prjntf("****************************************\n")

printf("1,加法運算\n");

printf("2,減法運算\n");

printf("3.乘法運算\n");

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論