Java程序設(shè)計(jì) 習(xí)題答案 韓建平 笫4章 數(shù)組_第1頁
Java程序設(shè)計(jì) 習(xí)題答案 韓建平 笫4章 數(shù)組_第2頁
Java程序設(shè)計(jì) 習(xí)題答案 韓建平 笫4章 數(shù)組_第3頁
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡介

笫4章數(shù)組填空題1.略2.略3.略簡答題1.編寫程序,輸入一個十進(jìn)制正整數(shù),輸出對應(yīng)的二進(jìn)制數(shù)串。\r\n\t針對題干要求,編寫兩個函數(shù):main()和to_binary()。其中,to_brnary()函數(shù)使用遞歸的方法將待轉(zhuǎn)換的十進(jìn)制轉(zhuǎn)換為二進(jìn)制數(shù);主函數(shù)main()從鍵盤接收一個十進(jìn)制數(shù),然后調(diào)用to_binary()函數(shù)將接收的十進(jìn)制數(shù)轉(zhuǎn)換為二進(jìn)制數(shù)并輸出。/*遞歸法將一個十進(jìn)制數(shù)轉(zhuǎn)換成二進(jìn)制數(shù)*/#includevoidto_binary(intn);intmain(void){intnumber;printf("輸入一個十進(jìn)制數(shù):");while(scanf("%d",&number)==A)/*非法輸入結(jié)束*/{printf("轉(zhuǎn)換后的二進(jìn)制數(shù)為:");to_binary(number);putchar(’//n’);}return0;}voidto_binary(intn){intr;r=n%B;if(n>=B)to_binary(n/B);putchar(’0’r);return;}\r\n2.輸入一個正整數(shù)n,再輸入n個整數(shù),輸出最大值及其下標(biāo)(設(shè)最大值唯一,下標(biāo)從0開始)。答案:略3.輸入一個正整數(shù)n,再輸入n個整數(shù),將最小值與第一個數(shù)交換,最大值與最后一個數(shù)交換,然后輸出交換后的n個數(shù)。orz#include<stdio.h>intmain(void){intn,i,a,max,min,temp,r,p;scanf("%d",&n);for(i=1;i<=n;i++)scanf("%d",&a[i]);min=a[1];for(i=1;i<=n;i++){if(a[i]<a[1]){min=a[i];r=i;}}temp=a[1],a[1]=min,a[r]=temp;max=a[n];for(i=1;i<=n;i++){if(a[i]>a[n]){max=a[i];p=i;}}temp=a[n],a[n]=max,a[p]=temp;for(i=1;i<=n;i++)printf("%d",&a[i]);return0;}4.過年了,村里要慶祝一下。村長對村民說,村里有一筆錢作為獎金。讓每個人寫一張紙條上來,誰寫的數(shù)與獎金最接近,就算猜中,這筆獎金就歸誰,如果有多個人猜中,則平分這筆錢。編寫程序,算算都有哪些人得到了獎金?得到多少?#include<stdio.h>

#include<math.h>

intmain()

{

inti,j,a[10],s=0,num,k;

scanf("%d",&num);

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

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

k=fabs(num-a[0]);

for(i=1;i<10;i++)

if(fabs(num-a[i])<k)k=fabs(num-a[i]);

for(i=j=0;i<10;i++)

if(fabs(a[i]-num)==k)

{

printf("%d",i);

j++;

}

printf("\n");

printf("%.1f\n",(float)num/j);

return0;

}5.有兩組數(shù)據(jù),分別包含m和n個整數(shù)。每組數(shù)據(jù)中的整數(shù)不重復(fù)且按由小到大的次序排列。請輸出所有在兩組數(shù)據(jù)中同時存在的整數(shù)。答案:略6.編寫程序,求解約瑟夫環(huán)問題。n個人(以編號L2,3,…,n分別表示)圍坐在一張圓桌周圍。從編號為k的人開始報數(shù),數(shù)到3的那個人出列;他的下一個人又從1開始報數(shù),數(shù)到3的那個人又出列;依此規(guī)律重復(fù)下去,最后出列的人是誰?答案:略7.某次科研調(diào)查時得到了N(NW200000)個自然數(shù),每個數(shù)均不超過1500000000,已知不相同的數(shù)不超過10000個,現(xiàn)在需要統(tǒng)計(jì)這些自然數(shù)各自出現(xiàn)的次數(shù),并按照自然數(shù)從小到大的順序輸出統(tǒng)計(jì)結(jié)果。#include#includeusingnamespacestd;intnum[200002];intmain(){freopen("count.in","r",stdin);freopen("count.out","w",stdout);intn,i,j,tmp,s=1;cin>>n;for(i=1;i>num[i];for(i=1;i<n;i){boolflag=true;for(j=1;jnum[j1]){tmp=num[j];num[j]=num[j1];num[j1]=tmp;flag=false;}if(flag)break;}num[n1]=-1;for(i=2;i<=n1;i)if(num[i]==num[i-1])s;else{cout<<num[i-1]<<""<<s<8.在一個舊式的火車站旁邊有一座橋,其橋面可以繞河中心的橋墩水平旋轉(zhuǎn)。一個車站的職工發(fā)現(xiàn)橋的長度最多能容納兩節(jié)車廂,如果將橋旋轉(zhuǎn)180',則可以把相鄰兩節(jié)車廂的位置交換,用這種方法可以重新排列車廂的順序。于是他就負(fù)責(zé)用這座橋?qū)⑦M(jìn)站的車廂按車廂號從小到大排列。他退休后,火車站決定將這一工作自動化,其中一項(xiàng)重要的工作是編寫一個程序,輸入初始的車廂順序,計(jì)算最少用多少步就能將車廂排序。請編寫該程序。答案:略9.輸入一個正整數(shù)n和n階方陣a中的元素,如果a是上三角矩陣,則輸出“YES”,否則,輸出“NO"(上三角矩陣即主對角線以下的元素都為0,主對角線為從矩陣的左上角至右下角的連線)。#includeintmain(void){inti,j,n,flag;inta[6][6];printf("Inputn:");scanf("%d",&n);printf("Inputarray:\n");for(i=0;ifor(j=0;jscanf("%d",&a[i][j]);for(j=1;jflag=0;for(i=1;iif(a[i][j]==0)flag=1;}if(flag)printf("YES!\n");elseprintf("NO!\n");return0;}10.輸入兩個n行m列的矩陣A和B,輸出它們的和(A+B)。第一行包含兩個整數(shù)n和m,表示矩陣的行數(shù)利列數(shù),其中,IWnWiOO,iWmWlOO。接下來的n行,每行m個整數(shù),

溫馨提示

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

評論

0/150

提交評論