第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

我的中間數(shù)掃描哪里有問(wèn)題

我的中間數(shù)掃描哪里有問(wèn)題

7-2?冒泡法排序(20?分)將N個(gè)整數(shù)按從小到大排序的冒泡排序法是這樣工作的:從頭到尾比較相鄰兩個(gè)元素,如果前面的元素大于其緊隨的后面元素,則交換它們。通過(guò)一遍掃描,則最后一個(gè)元素必定是最大的元素。然后用同樣的方法對(duì)前N?1個(gè)元素進(jìn)行第二遍掃描。依此類推,最后只需處理兩個(gè)元素,就完成了對(duì)N個(gè)數(shù)的排序。本題要求對(duì)任意給定的K(<N),輸出掃描完第K遍后的中間結(jié)果數(shù)列。輸入格式:輸入在第1行中給出N和K(1≤K<N≤100),在第2行中給出N個(gè)待排序的整數(shù),數(shù)字間以空格分隔。輸出格式:在一行中輸出冒泡排序法掃描完第K遍后的中間結(jié)果數(shù)列,數(shù)字間以空格分隔,但末尾不得有多余空格。輸入樣例:6 22 3 5 1 6 4輸出樣例:2 1 3 4 5 6#include<stdio.h>int main(){ int i,j,N,K; ? ? ? ? ? ? ? ? ? ? int arr[100]; scanf("%d",&N,&K); for(i=0;i<N;i++) ? ? ? ? ? ?// 這是所求N-1遍的掃描如果相求K遍就將N換K { scanf("%d",&arr[i]); } for(i=N-2;i>=0;i--) { for(j=0;j<=i;j++) ? ? ? ? // 相鄰兩個(gè)數(shù)的比較 { if(arr[j]>arr[j+1]) ? // 具體操作 { int temp; temp=arr[j]; arr[j]=arr[j+1]; arr[j+1]=temp; } } } for(i=K;i<N-K-2;i--) ? ? ? ?// 對(duì)中間數(shù)的掃描 { for(j=0;j<=i;j++) { if(arr[j+1]>arr[j+2]) { ? int swap; ? swap=arr[j+1]; ? arr[j+1]=arr[j+2]; ? arr[j+2]=swap; } } } for(i=0;i<N;i++) { printf("%d\t",arr[i]); } return 0;}
查看完整描述

1 回答

已采納
?
Yexiaomo

TA貢獻(xiàn)152條經(jīng)驗(yàn) 獲得超157個(gè)贊

在你原有的代碼上我做了如下修改

需要修改代碼都被我注釋了,自己對(duì)照看吧

#include<stdio.h>
int?main()
{
????int?i,j,N,K;????????????????????
????int?arr[100];
????
//????scanf("%d",&N,&K);?
????scanf("%d%d",&N,&K);
????
????for(i=0;i<N;i++)
????{
????????scanf("%d",&arr[i]);
????}
????
//????for(i=N-2;i>=0;i--)
	for(i=N-2;i>=0&&K>0;i--,K--)?//也可以-->for(i=N-2;i>=0&&K>0;i--,K--)
????{
????????for(j=0;j<=i;j++)
????????{
????????????if(arr[j]>arr[j+1])
????????????{
????????????????int?temp;
????????????????temp=arr[j];
????????????????arr[j]=arr[j+1];
????????????????arr[j+1]=temp;
????????????}
????????}
????}
//?刪除?
//????for(i=K;i<N-K-2;i--)
//????{
//????????for(j=0;j<=i;j++)
//????????{
//????????????if(arr[j+1]>arr[j+2])
//????????????{
//????????????????int?swap;
//????????????????swap=arr[j+1];
//????????????????arr[j+1]=arr[j+2];
//????????????????arr[j+2]=swap;
//????????????}
//????????}
//????}
????for(i=0;i<N;i++)
????{
????????//printf("%d\t",arr[i]);
????????printf("%d?",arr[i]);
????}
????return?0;
}

最后的打印結(jié)果,如果是要測(cè)試的話(在ACM的平臺(tái)上提交)還需要一些小的改動(dòng)

查看完整回答
1 反對(duì) 回復(fù) 2017-11-14
  • 1 回答
  • 0 關(guān)注
  • 1590 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)