C語言程序設(shè)計(何欽銘)課后習題作業(yè)_第1頁
C語言程序設(shè)計(何欽銘)課后習題作業(yè)_第2頁
C語言程序設(shè)計(何欽銘)課后習題作業(yè)_第3頁
C語言程序設(shè)計(何欽銘)課后習題作業(yè)_第4頁
C語言程序設(shè)計(何欽銘)課后習題作業(yè)_第5頁
已閱讀5頁,還剩22頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上第一章習題1、對C語言來說,下列標示符中哪些是合法的,哪些是不合法的 Total, _debug, LargeTall, Counter1, begin_ 答:合法的:_debug、Counter1、begin_。 不合法的:Total、LargeTall。2、改寫節(jié)中的流程圖,求1100中能被6整除的所有整數(shù)的和。Sum=0,i=1I<=100I能被6整除sum=sum+ii=i+1真假打印sum3、改寫節(jié)中的程序,求1100中能被6整除的所有整數(shù)的和,并在編程環(huán)境中驗證該程序的運行結(jié)果。 答:程序為:#include<>int main(void

2、)int i,sum=0;for(i=1;i<=100;i+)if(i%6=0)sum=sum+i;printf("sum=%dn",sum);return 0;4、對于給定的整數(shù)n(n>1),請設(shè)計一個流程圖判別n是否為一個素數(shù)(只能被1和自己整除的整數(shù)),并分析該流程圖中哪些是順序結(jié)構(gòu)、哪些是分支結(jié)構(gòu)和循環(huán)結(jié)構(gòu)。開始結(jié)束輸入ni=2r=n/i的余數(shù)r=0i=i+1i>=(n-1)輸出n“是素數(shù)”輸出n“不是素數(shù)”假真真假開始結(jié)束輸入ni=2r=n/i的余數(shù)r=0i=i+1i>=(n-1)輸出n“是素數(shù)”輸出n“不是素數(shù)”假真真假第二章作業(yè)1編寫程

3、序,輸入兩個整數(shù)num和num2,計算并輸出她們的和、差、積、商。答:程序:#include<> void main()int num1,num2,y1,y2,y3,y5;double y4;printf("請輸入兩個數(shù):num1,num2n");scanf("%d%d",&num1,&num2);y1=num1+num2;y2=num1-num2;y3=num1*num2;y4=num1*num2;y5=num1%num2;printf("num1,num2和y1=%dnnum1,num2差y2=%dnnum1,n

4、um2積y3=%dnnum1,num2商y4=%lfnnum1,num2余y5=%dn",y1,y2,y3,y4,y5); 2為了倡導居民節(jié)約用電,某省電力公司執(zhí)行“階梯電價”,安裝一戶一表的居民用戶電價分為兩個“階梯”:月用電量50千瓦時以內(nèi)的,電價為元/千瓦時;超出50千瓦時的用電量,電價上調(diào)元/千瓦時。編寫程序,輸入用戶的月用電量(千瓦時),計算并輸出該用戶應支付的電費(元)。答:程序:#include<> void main()double x,y;printf("請輸入月用電量:xn");scanf("%lf",&

5、x);if(x<=50)y=*x;printf("電費y=%lfn",y);else y=*x;printf("應支付電費y=%lfn",y); 3編寫程序,輸入實數(shù)x和正整數(shù)n,計算xn,不允許調(diào)用pow()函數(shù)求冪。答:程序:#include<> void main() double x,power; int i,n;printf("請輸入:x,nn");scanf("%lf%d",&x,&n);power=;for(i=1;i<=n;i+)power=power*x;p

6、rintf("power(x,n)=%lfn",power);4編寫程序,輸入兩個正整數(shù)m和n,求(i2+1/i)(i從m到n。)答:程序:#include<>void main()int i,m,n;double sum;sum=0;printf("input:m,nn");scanf("%d%d",&m,&n);for(i=m;i<=n;i+)sum=sum+(i*i+i);printf("sum=%lfn",sum);5編寫程序,輸入一個正整數(shù)n,計算1-2/3+3/5-4/

7、7+5/9-6/11+的前n項之和。答:程序:#include<>void main()int i,n;double sum,item,flag;flag=1;sum=0;printf("input:nn");scanf("%d",&n);for(i=1;i<=n;i+)item=(flag*i)/(2*i-1);flag=-flag;sum=sum+item;printf("sum=%lfn",sum);6某用戶為購房辦理商業(yè)貸款,選擇了按月等額本息還款法,計算公式如下,在貸款本金(loan)和月利率(ra

8、te)一定的情況下,住房貸款的月還款(money)取決于還款月數(shù)(month)??蛻舸蛩阍?30年的范圍內(nèi)選擇還清貸款的年限,想得到一張“還款年限月還款額表”以供參考。編寫程序,輸入貸款本金loan和月利率rate,輸出“還款年限月還款額表”,還款年限的范圍是530年,輸出時分別精確到年和元。Money=loan*rate(1+rate)month/(1+rate)month-1答:程序:#include<>#include<>void main()int lower,upper,month,year,loan;double money,rate;lower=5;upp

9、er=30;printf("請輸入貸款本金:loann");scanf("%d",&loan);printf("請輸入月利率:raten");scanf("%lf",&rate);printf("還款年限t月還款額n");for(year=lower;year<=upper;year+)month=year*12;money=(loan*rate*pow(1+rate),month)/(pow(1+rate),month)-1);printf("%dtt%lfn&

10、quot;,year,money);7編寫程序,輸入一個正整數(shù)n,求2i(i從1到n),可調(diào)用pow()函數(shù)求冪。答:程序:#include<>#include<>void main()int i,n;double sum,item;sum=0;printf("input:nn");scanf("%d",&n);for(i=0;i<=n;i+)item=pow(2,i);sum=sum+item;printf("sum=%lfn",sum);8編寫程序,輸入一個正整數(shù)n,求e=i!(i從0到n)。

11、要求定義和調(diào)用函數(shù)fact(n)計算n!,函數(shù)類型是double.答:程序:#include<>double fact(int n);void main()int i,n;double sum;sum=0;printf("input:nn");scanf("%d",&n);for(i=0;i<=n;i+)sum=sum+fact(i);printf("sun=%lfn",sum);double fact(int n)int i;double product;product=;for(i=1;i<=n;i

12、+)product=product*i;return product;第三章作業(yè)1.#include<>#include<>void main()int a,b,c;double s,area,perimeter;printf("請輸入三角形三條邊:a,b,cn");scanf("%d%d%d",&a,&b,&c);if(a+b>c&&a+c>b&&b+c>a)perimeter=a+b+c;s=(a+b+c)/;area=sqrt(s*(s-a)*(s-b

13、)*(s-c);printf("三角形的周長perimeter=%.2lfn三角形的面積area=%.2lfn",perimeter,area);2、#include<>#include<>void main()double salary,tax,rate;printf("請輸入職工的月薪:salaryn");scanf("%lf",&salary);if(salary<=850) rate=0;else if(salary<=1350) rate=5;else if(salary<=

14、2850) rate=10;else if(salary<=5850) rate=15;else rate=20;tax=rate*(salary-850)/100;printf("職工應繳個人所得稅tax=%.2lfn",tax);3、#include<>void main()double m,n,y;printf("請輸入行駛里程(公里):mn等待時間(分鐘):nn");scanf("%lf%lf",&m,&n);if(m+n/<=3) y=10;else if(m+n/<=10) y

15、=2*(m+n/;else y=2*10+3*(m+n/;printf("乘客應付車費y=%dn",(int)(y*10+/);4、#include<>void main()int i,n,A,B,C,D,E;double score,total;printf("請輸入一個數(shù)n:n");scanf("%d",&n);total=0;A=0;B=0;C=0;D=0;E=0;for(i=1;i<=n;i+)printf("請輸入第#%d個學生成績:n",i);scanf("%lf&q

16、uot;,&score);total=total+score;if(score>=90)A+;else if(score>=80)B+;else if(score>=70)C+;else if(score>=60)D+;else E+;printf("平均成績=%lfn",total/n);printf("等級成績個數(shù):nA=%dnB=%dnC=%dnD=%dnE=%dn",A,B,C,D,E);5、#include<>void main()int year;printf("21世紀所有的閏年:n&q

17、uot;);for(year=2000;year<3000;year+)if(year%4=0&&year%100!=0|year%400=0)printf("%dn",year);第四章作業(yè)2、#include""#include""double fact(int n);void main()int i,n;double x,s;printf("請輸入一個實數(shù)x:n");scanf("%lf",&x);s=0;i=1;while(pow(x,i)/fact(i)&

18、gt;=s=pow(x,i)*fact(i)+s;i+;printf("s=%.2lfn",s);double fact(int n)int i;double result;result=1;for(i=1;i<=n;i+)result=result*i;return result;3、#include""int main(void)int x,a,count,sum;printf("請輸入一個整數(shù)x:n");scanf("%d",&x);sum=0;count=0;if(x<0) x=-x;d

19、oa=x%10;sum=sum+a;x=x/10;count+;while(x!=0);printf("位數(shù)=%dn",count);printf("各個位數(shù)之和為:%dn",sum);return 0;5、#include""void main()int a,n,i=1,s=0,t=0;printf("請輸入兩個正整數(shù)a,n=:n");scanf("%d%d",&a,&n);while(i<=n)t=t+a;s=s+t;a=a*10;+i;printf("a+a

20、a+aaa+aaa=%dn",s);7、#include""void main()int i,j,k,l,n;printf("1-10000之間的水仙花數(shù)有:n");for(n=10;n<10000;n+)i=n/1000;j=n/100%10;k=n/10%10;l=n%10;if(i*1000+j*100+k*10+l=i*i*i+j*j*j+k*k*k+l*l*l)printf("%-5d",n);printf("n");9、#include""#include"

21、"void main()int i,n,m,j,k;i=0;printf("請輸入一個多位整數(shù):n");scanf("%d",&n);k=n;while(k!=0)i+;k=k/10;k=n;m=pow(10,i-1);printf("逐位輸出:%d",n/m%10);printf(",");for(j=m/10;j>0;j=j/10)n=k/j;printf("%d",n%10);if(j!=1)printf(",");11、#include&quo

22、t;"void main()int p,r,n,m,temp;printf("請輸入兩個正整數(shù):n");scanf("%d%d",&n,&m);if(n<m) temp=n;n=m;m=temp;p=n*m;while(m!=0)r=n%m; n=m;m=r;printf("最大公約數(shù)為:%dn",n);printf("最小公倍數(shù)為:%dn",p/n);13、#include""void main()int i,j;for(i=0;i<=3;i+)for(j

23、=0;j<=2-i;j+)printf(" ");for(j=0;j<=2*i;j+)printf("*");printf("n"); for(i=0;i<=2;i+)for(j=0;j<=i;j+)printf(" ");for(j=0;j<=4-2*i;j+)printf("*");printf("n"); 第五章1.#include<>#include <>long fac(int n,int a)long sum;

24、if(n=1)sum=a; else sum=(long)(pow(10,n-1)*a)+fac(n-1,a);return(sum);main()int a,n,i;long temp,sum=0;printf("請輸入一個數(shù)a,nn");scanf("%d%d",&a,&n); for(i=1;i<=n;i+) temp=fac(i,a); sum+=temp; printf("它們的和是=%ld",sum); return 0; 2.#include<>int countdight(int nu

25、mber,int dight);int main(void)int number;printf("輸入一個數(shù):");scanf("%d",&number);countdight(number,2);return 0;countdight(int number,int dight)int a,count;count=0;while(number!=0)a=number%10;number=number/10;if(a=dight)count+;printf("%dn",count);return count;3.#include

26、<>int fib(int n);int main(void)int m,n,num1;num1=1;printf("請輸入兩個正整數(shù)m和n(m>=1,n<=10000)n");scanf("%d%d",&m,&n);if(num1>=m&&num1<=n)fib(n);return 0;int fib(int n)int i,x1,x2,x,t;x1=1;x2=1;for(i=0;i<n;i+)x=x1+x2;printf("%5d",x);t=x;x1=x2

27、;x2=t;printf("n");return x;5. #include<>void is(int num);int main(void)int n,m,num1;num1=1;printf("輸入兩個數(shù)m和n(m>=1,n<=1000)n");scanf("%d%d",&m,&n);if(num1>=m&&num1<=n)is(num1);return 0;void is(int num)int i,j,k;for(num=1;num<1000;num+)

28、i=num/100;j=num/10%10;k=num%10;if(i*100+j*10+k*1=i*i*i+j*j*j+k*k*k)printf("%5d",num);printf("n");6.#include<>int reverse(int number);int main(void)int x;printf("請輸入一個正整數(shù):n");scanf("%d",&x);reverse(x);return 0;int reverse(int number)while(number!=0)pr

29、intf("%d",number%10);number=number/10;printf("n");return number;第七章作業(yè)1.#include<>void main() int i,j=0,k=0,n,p,q,max,min; int a10; printf("請輸入n(1<n<10)的值: n");scanf("%d",&n);printf("請輸入%d個數(shù): n",n);for(i=0;i<n;i+)scanf("%d"

30、;,&ai);min=a0;max=a9;if(ai<min)min=ai;k=i;if(ai>max)max=ai;j=i;p=a9;a9=aj;aj=p;q=a0;a0=ak;ak=q;for(i=0;i<n;i+)printf("%8d",ai);printf("n");4.#include<>int main(void)int m,n,i,j,sum;int a66,x80;printf("請輸入m,n(1<=m,n<=6)的值: n");scanf("%d%d&qu

31、ot;,&m,&n);printf("請輸入%d個數(shù): n",m*n);for(i=0;i<m;i+)for(j=0;i<n;j+)scanf("%d",&aij);for(i=0;i<m;i+)for(j=0;j<n;j+)printf("%4d",aij);printf("n");for(i=0;i<m;i+)sum=0;for(j=0;j<n;j+)sum=sum+aij;xi=sum;for(i=0;i<m;i+)printf("%

32、dn",xi);return 0;5.#include<>void main()int a33,max,max1,max2,i,j,flag=1;printf("請輸入9個數(shù): n");for(i=0;i<=2;i+)for(j=0;j<=2;j+)scanf("%d",&aij);for(i=0;i<=2;i+)max=ai0;for(j=0;j<=2;j+)if(aij>max)max=aij;max1=j;for(max2=0;max2<=2;max2+)if(max>amax

33、1max2)flag=0;break;if(flag=1) printf("鞍點是 %dn",amax2max1); if(flag=0) printf("no numbern");flag=1;8.#include<>#include<>int main(void)int i,n;char s80;printf("請輸入n(n<80)的值: n");scanf("%d",&n);printf("請輸入%d個字符: n",n);for(i=0;i<n;

34、i+)scanf("%s",s);for(i=0;si!='0'i+)if(si>='A'&&si<='Z')si=155-si;for(i=0;si!='0'i+)putchar(si);printf("n");return 0;#include<>#include<>int main(void) int i, n; char f,s80;printf("Enter a string: "); /*輸入字符串*/i =

35、 0;while(si = getchar( ) != 'n') i+; si = '0'n = 0;for(i = 0; si != '0' i+)if(si <= 7f&& si >= 20)si=si+;elsebreak; for(i = 0; si != '0' i+)putchar(si);return 0; 第八章作業(yè)1.#include<>int main(void)char ch;int a10;int i,j,temp;printf("請輸入10個整數(shù):n&qu

36、ot;);for(i=0;i<10;i+)scanf("%d",&ai);printf("請輸入A或D:");scanf(" %c",&ch);if(ch='A')for(i=0;i<9;i+)for(j=i+1;j<10;j+)if(ai>aj)temp=ai;ai=aj;aj=temp;for(i=0;i<10;i+)printf("%dn",ai);else if(ch='D')for(i=0;i<9;i+)for(j=i+1

37、;j<10;j+)if(ai<aj)temp=ai;ai=aj;aj=temp;for(i=0;i<10;i+)printf("%dn",ai);return 0;5.#include<>#include<>void mcopy(char *s,int m);int main(void) int i,m,l;char str100;printf("請輸入您要輸入的字符串:");gets(str);printf("您將從原字符串的第m位復制新字符串,請輸入m:n");scanf("%d

38、",&m);printf("復制后,新的字符串為:"); mcopy(str,m);return 0;void mcopy(char *s,int m)printf("%sn",s+m-1);11.#include<>#include<>void fushu(char *p);int main(void)char str80;printf("請輸入一個英語名詞單詞:");scanf("%s",str); fushu(str);puts(str);return 0;void

39、fushu(char *p) int i,l;l=0;for(i=0;*(p+i)!='0'i+)l+;if(*(p+l-1)='y')*(p+l)='e'*(p+l+1)='s'*(p+l+2)='0'else if(*(p+l-1)='s')|(*(p+l-1)='x')|(*(p+l-2)='c')&&(*(p+l-1)='h')|(*(p+l-2)='s')&&(*(p+l-1)='h&#

40、39;)*(p+l)='e'*(p+l+1)='s'*(p+l+2)='0'else if(*(p+l-1)='o')*(p+l)='e'*(p+l+1)='s'*(p+l+2)='0'else*(p+l)='s'*(p+l+1)='0'12.#include<>#include<>int main(void)int i,j,a,n,sum,avg;int *p;printf("Enter n:");scan

41、f("%d",&n);if(p=(int*)calloc(n,sizeof(int)=NULL)printf("Not able to allocate memory.n");exit(1);printf("請輸入%d個學生的成績:n",n);for(i=0;i<n;i+)scanf("%d",p+i);sum=0;for(i=0;i<n;i+)sum=sum+*(p+i);avg=sum/n;for(i=0;i<n-1;i+)for(j=i+1;j<n;j+)if(*(p+i)&g

42、t;*(p+j)a=*(p+i);*(p+i)=*(p+j);*(p+j)=a;printf("學生的平均成績是:%dn",avg);printf("學生的最高成績是:%dn",*(p+n-1);printf("學生的最低成績是:%dn",*p);return 0;第九章作業(yè)1.#include<>structint hour,minute,second;time;int main(void)scanf("%d:%d:%d",;+;if=60)+;=0;if=60)+;=0;if=24)=0;print

43、f("%d:%d:%d",;return 0;2.struct s1char c1,c2;int n;struct s2int n; struct s1 m;int main(void)printf("nt%dt%dt%cn",return 0;8.#include<>#define N 10struct personchar num10;char name20;double jbgz,jj,zc,sfgz;struct person gzN;int main() int i,index;printf("請輸入%d名工人的基本信息:

44、n", N);for(i=0;i<N;i+)printf("請輸入第%d名工人的基本信息:n",i+1);scanf("%s%s%lf%lf%lf",gzi.num,,&gzi.jbgz,&gzi.jj,&gzi.zc);printf("%d名工人的基本信息:n",N);printf("編號t姓名t基本工資t獎金t支出t實發(fā)工資n");for(i=0;i<N;i+)printf("%st%st%.2lftt%.2lft%.2lft%.2lfn",gzi.num,,gzi.jbgz,gzi.jj,gzi.zc,gzi.sfgz=gzi.jbgz+gzi.jj-gzi.zc);in

溫馨提示

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

評論

0/150

提交評論