C語(yǔ)言程序設(shè)計(jì)教程北京理工大學(xué)出版社 部分課后習(xí)題答案【VIP專(zhuān)享】_第1頁(yè)
C語(yǔ)言程序設(shè)計(jì)教程北京理工大學(xué)出版社 部分課后習(xí)題答案【VIP專(zhuān)享】_第2頁(yè)
C語(yǔ)言程序設(shè)計(jì)教程北京理工大學(xué)出版社 部分課后習(xí)題答案【VIP專(zhuān)享】_第3頁(yè)
C語(yǔ)言程序設(shè)計(jì)教程北京理工大學(xué)出版社 部分課后習(xí)題答案【VIP專(zhuān)享】_第4頁(yè)
C語(yǔ)言程序設(shè)計(jì)教程北京理工大學(xué)出版社 部分課后習(xí)題答案【VIP專(zhuān)享】_第5頁(yè)
已閱讀5頁(yè),還剩13頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

CP5/*4、編寫(xiě)程序輸入一位學(xué)生的生日(年:y0、月:m0、日:d0);并輸入當(dāng)前的日期(年:y1、月:m1、日:d1);輸出改學(xué)生的實(shí)足年齡。(P116)*/main(){inty0,m0,d0,y1,m1,d1,age;printf("Pleaseinputcurrentday:\n");scanf("%d,%d,%d",&y1,&m1,&d1);printf("Pleaseinputbirthday:\n");scanf("%d,%d,%d",&y0,&m0,&d0);age=y1-y0;if(m1<m0)age--;elseif(m1==m0&&d1<d0)age--;printf("age=%d\n",age);}/*7、某商店位促銷(xiāo)推出如下讓利銷(xiāo)售方案,其中M位購(gòu)買(mǎi)金額,n為讓利百分比。M<100,N=0;100<=M<200,N=1.5%200<=M<300,N=2.5%300<=M<400,N=3.5%400<=M<500,N=4.5%500<=M<600,N=5.5%M>600,N=6%;編寫(xiě)程序,對(duì)輸入的購(gòu)買(mǎi)金額,輸出顧客購(gòu)買(mǎi)金額、實(shí)際支出金額和返還金額。*/main(){intm,k;floatn;printf("Pleaseinput購(gòu)買(mǎi)金額m:\n");scanf("%d",&m);k=m/100;switch(k){case0:n=0;break;case1:n=0.015;break;case2:n=0.025;break;case3:n=0.035;break;case4:n=0.045;break;case5:n=0.055;break;default:n=0.06;break;}printf("%5d,%7.2f,%7.2f",m,m-n*m,m*n);/*輸出購(gòu)買(mǎi)金額、實(shí)際支付金額和返還金額*/}===========================================CP65./*計(jì)算6個(gè)學(xué)生5門(mén)課成績(jī),每人的平均成績(jī)。*/#include<stdio.h>voidmain(){inti,j,xuesheng;doublefen,mean,zongfen;for(i=1;i<=6;i++){zongfen=0;for(j=1;j<=5;j++){scanf("%lf",&fen);zongfen=zongfen+fen;}mean=zongfen/5.0;printf("xuesheng%d=%lf\n",i,mean);}}//8.所有大于1010的四位偶數(shù),該偶數(shù)各位數(shù)字兩兩不相同。#include<stdio.h>voidmain(){intt,a,b,c,d;for(t=1010;t<9999;t++){if(t%2==0){a=(t/1000)%10;b=(t/100)%10;c=(t/10)%10;d=t%10;if((a!=b)&&(a!=c)&&(a!=d)&&(b!=c)&&(b!=d)&&(c!=d))printf("%d,",t);}}}===========================================cp8/*1、編寫(xiě)一個(gè)判斷一個(gè)整數(shù)是否是素?cái)?shù)的函數(shù),使用該函數(shù)編寫(xiě)驗(yàn)證1000以?xún)?nèi)的哥德巴赫猜想是成立。(每個(gè)不小于6的偶數(shù)都是兩個(gè)素?cái)?shù)之和)*/#include<stdio.h>main(){inti,j;for(i=6;i<=1000;i+=2)for(j=3;j<=i/2;j+=2)if(flag(j)&&flag(i-j)){printf("%d=%d+%d\n",i,j,i-j);break;}}flag(n)/*函數(shù)flag的功能是判斷整數(shù)n是否為素?cái)?shù)*/intn;{inti;if(n%2==0)return(0);for(i=3;i<n/2;i++)if(n%i==0)return(0);return(1);}/*3、編寫(xiě)一個(gè)求水仙花數(shù)的函數(shù),求100到999之間的全部水仙花數(shù)。所謂水仙花數(shù)是指一個(gè)三位數(shù),其各位數(shù)字立方的和等于該數(shù)。例如:153就是一個(gè)水仙花數(shù):153=1*1*1+5*5*5+3*3*3參考程序:*/main(){inti=0,j,k,a,b,c,s;for(a=1;a<=9;a++)for(b=0;b<=9;b++)for(c=0;c<=9;c++){j=100*a+10*b+c;if(ex(j))printf("%d=%d*%d*%d+%d*%d*%d+%d*%d*%d\n",j,a,a,a,b,b,b,c,c,c);}}intex(intm){intsum=0,z,k;z=m;while(z>0){k=z%10;sum+=k*k*k;z/=10;}return(m==sum);}/*4、請(qǐng)編寫(xiě)一個(gè)函數(shù),輸出整數(shù)m的全部素?cái)?shù)因子。例如:m=120時(shí),因子為:2,2,2,3,5參考答案:*/main(){intm;printf("\nEnterm=");scanf("%d",&m);primedec(m);}primedec(m)intm;{intk=2;while(k<=m)if(m%k==0){printf("%d,",k);m=m/k;}elsek++;}==========================================cp9/*1、編寫(xiě)一函數(shù),其功能是交換兩個(gè)變量x、y的值。編程序?qū)崿F(xiàn)對(duì)數(shù)組a[100],b[100]調(diào)用此函數(shù),交換a、b中具有相同下標(biāo)的數(shù)組元素的值,且輸出交換后的a、b數(shù)組。/*p279_1.c*///thisisawrongprogram#include"stdlib.h"voidswap(int*pa,int*pb){intt;t=*pa;*pa=*pb;*pb=t;}main(){inta[100],b[100],i;for(i=0;i<100;i++)/*產(chǎn)生數(shù)組a和b*/{a[i]=random(100);b[i]=random(100);}printf("beforeswapA:\n");/*輸出交換前數(shù)組a*/for(i=0;i<100;i++)printf("%3d",a[i]);printf("\n");printf("beforeswapB:\n");/*輸出交換前數(shù)組b*/for(i=0;i<100;i++)printf("%3d",b[i]);printf("\n");for(i=0;i<100;i++)/*a、b數(shù)組元素交換*/swap(&a[i],&b[i]);printf("afterswapA:\n");/*輸出交換后數(shù)組a*/for(i=0;i<100;i++)printf("%3d",a[i]);printf("\n");printf("afterswapB:\n");/*輸出交換后數(shù)組b*/for(i=0;i<100;i++)printf("%3d",b[i]);printf("\n");}//thisisawrongprogram#include<stdio.h>voidswap(int*x,int*y){inttemp;temp=*x;*x=*y;*y=temp;}voidmain(){inta[100],b[100],i;i=0;printf("enterytoresetthearrayorothertoquitreset:");if(getch()=='y'){for(i=0;i<100;i++){printf("a[%d]:",i);scanf("%d",a+i);}for(i=0;i<100;i++){printf("b[%d]:",i);scanf("%d",a+i);}}printf("a\tb\n");for(i=0;i<100;i++)printf("%d\t%d\n",a[i],b[i]);while(i<100){swap(a+i,b+i);i++;}printf("\n\na\tb\n");for(i=0;i<100;i++)printf("%d\t%d\n",a[i],b[i]);}//7、將空格分開(kāi)的字符串稱(chēng)為單詞。輸入多行字符串,直到輸入"stop"單詞時(shí)才停止。最后輸出單詞的數(shù)量。//解1:#include"string.h"main(){chars[200];longn=0;inti,m;gets(s);while(strcmp("stop",s)!=0){m=strlen(s);for(i=0;i<m;i++){if(s[i]!=''&&s[i+1]=='')n++;if(s[i]!=''&&s[i+1]=='\0')n++;if(s[i]==''&&s[i+1]=='')continue;if(s[i]==''&&s[i+1]!='')continue;}gets(s);}printf("n=%ld\n",n);}//解2.#include"string.h"main(){chars[80],*p=s;intn=0;printf("Inputastring:\n");gets(s);while(strcmp(s,"stop")!=0){p=s;while(*p!='\0'){if(*p==32||*p=='\0')n++;p++;}if(strlen(s)>0)n++;printf("Inputastring:\n");gets(s);}printf("wordsnumber:%d\n",n);}/*8、將輸入的兩行字符串連接后,將串中的空格全部移到串首后輸出。/*P280_8A*/#include"string.h"main(){chars1[80],s2[40],*p1=s1,*p2=s2;printf("Input2string:\n");gets(s1);gets(s2);while(*p1!='\0')p1++;/*指針指向s1的末尾*/while(*p2!='\0')/*連接s2*/*p1++=*p2++;*p1='\0';while(p1!=s1)/*將空格移到字符串前面*/{if(*p1!=32){p1--;continue;}else{p2=p1;while(p2!=s1)/*將空格之前的所有字符向后移動(dòng)一個(gè)字符位置*/{*p2=*(p2-1);p2--;}*p2='';p1--;}}puts(s1);}/*11、設(shè)一個(gè)以符號(hào)'.'結(jié)束的英文句子長(zhǎng)度小于80字節(jié)。請(qǐng)編寫(xiě)程序讀入改句子,并檢查其是否為回文(即正讀和反讀都是一樣的,不考慮空格和標(biāo)點(diǎn)符號(hào))。例如:讀入:madami'madam.輸出:yes讀入:abcdba輸出:no/*P280_11.c*/#include"string.h"main(){chara[20],*ps,*pe;intn;gets(a);n=strlen(a);ps=a;pe=ps+n;while(ps<=pe){if(*ps<'A'||*ps>'Z'&&*ps<'a'||*ps>'z')ps++;if(*pe<'A'||*pe>'Z'&&*pe<'a'||*pe>'z')pe--;if(*ps!=*pe)break;ps++;pe--;}if(ps>pe)printf("%s:yes!\n",a);elseprintf("%s:No!\n",a);}===========================================cp10//1.錯(cuò)的#include<iostream.h>structstd//定義學(xué)生結(jié)構(gòu)體,包含學(xué)好number,成績(jī)score,名次mc{intnumber;intscore;intmc;};#defineN100intmain(){inti,j,max,num;staticintt=1;structstdstduent[N],temp;cin>>max;for(i=0;i<max;i++){cin>>stduent[i].number;cin>>stduent[i].score;}for(i=0;i<max-1;i++){//冒泡法排序,從高分到低分for(j=0;j<max-i;j++)if(stduent[j].score<stduent[j+1].score){temp=stduent[j];stduent[j]=stduent[j+1];stduent[j+1]=temp;}}for(i=0;i<max-1;i++)//通過(guò)前面的冒泡法排序,已知成績(jī)從高到低排序,就可以確定學(xué)生的名次,成績(jī)相同,名次相同

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論