杭電acm2019哪錯了??
1樓:骨擺渡哥
#include
int main()
int i,a[101],x,n,m;
for(i=0;ia[n])
x=a[i];
a[i]=a[n];
a[n]=x;
for(i=0;iprintf("%d ",a[i]);
printf("");
return 0;
我改的,你那個程式錯在如果m最大的話根本不會新增到陣列中,還有陣列結尾添0是什麼意思?
2樓:匿名使用者
提此類問題,請務必寫出題目頁面位址。
杭電acm2019題
3樓:網友
acm只要求你輸出正確就可以了,你不需要真的去給陣列排序。
可以這麼做:每讀取乙個數,看它是不是比m大。如果不是,直接輸出這個數。否則,先輸出m,再輸出這個數。如果m已經被輸出過了,就不再輸出m。
這麼做是不是簡單多了?
完整**:#include
using namespace std;
void main()
if (i != n-1)
cout <<' ';
if (!flag)
cout <<' '
4樓:網友
在你的基礎上改的。
#include ""
void main()
break;
for(i=0;iprintf("%d ",a[i]);
printf("%d",a[i]);//改成這樣就不會輸出最後乙個空格,要不然就是pe
for(i=0;i<=t+1;i++)
a[i]=0;
t=x=y=z=0;
scanf("%d%d",&n,&m);}
5樓:網友
樓上的記得主函式得int型,返回0結束,否則提交會出錯;
杭電acm2019,哪位高手幫我看看,**錯了?
6樓:女兒飛
在你的基臘喚銀礎上改的。
#include ""鏈虛。
void main()
int n,m,i,t=0,a[100];
int x,y,z;
scanf("%d%d",&n,&m);
while(n!=0||m!=0)//這個判斷條件輪宴是這樣的for(i=0;ia[t]) a[t]=m;
for(i=0;iif(mx=a[i];
a[i]=m;
y=i+1;
for(;yz=a[y];
a[y]=x;
x=z;break;
for(i=0;iprintf("%d ",a[i]);
printf("%d",a[i]);改成這樣就不會輸出最後乙個空格,要不然就是pe
for(i=0;i<=t+1;i++)
a[i]=0;
t=x=y=z=0;
scanf("%d%d",&n,&m);
杭電acm2019題,請大大們幫忙看看**錯了
7樓:網友
lz應該好好研究一下教科書上的插入排序。
兩種邊界情況並不需要單獨處理的。
將所有大於m的數都後移時不用每移一位都交換一下只要單純的把每個數都後移一位就行了。
下面是我寫的**,要簡潔多了。
#include ""
#include ""
int main()
arr[i+1] = m;
for(i = 0;i < n;i++)
printf("%d ",arr[i]);
printf("%d",arr[i]);
system("pause");}
杭電acm2019:
8樓:網友
首先唯襪你少考慮的2種情況~就是當m=a[0]和m=a[n-1]的時候。
所以要指櫻激把中間2個if語句修改一下 if(m<=a[0]) 和 if(m>=a[n-1])
還有頌漏。if((a[i]m))
j=j+1;
是什麼意思?
杭電acm1001,我錯哪了,杭電ACM1001我哪錯了
sum a a 1 2 這裡出了問題 注意,是出了問題,公式並沒有錯.因為sum是int 32位的整型資料,當a足夠大的時候,該表示式在計算 a a 1 時,已經超出了 int 的範圍,解決方案有兩個 一 把long sum 改為 long long sum ok 我不知道c是怎樣分的,反正在c 中...
杭電acm第幾頁題目比較簡單
16頁,你看哪頁中文題目比較多就是了 其實果斷的是第11頁從2000到2099,前50題是最簡單的題目了,因為都是c語言基礎練習題。基本想刷的話。一天就可以刷完的。還有找簡單題目方法就是在題目列表裡搜尋acm 搜尋型別算source。然後找那些acm課程期末考試的題目。中文題目的都比較簡單 那幾道a...
杭電2019題,一年多少天求教,杭電2005題,一年多少天求教
1全部 includeint main printf d n sum 我這個看的好一點,自己ac的,貼出來希望對你有幫助,這是我以前寫的,稍微差了點,更優化點就是建立個陣列month 12 然後只要處理2月然後就是一個迴圈for int i 0 i 把判斷閏年的if調一下位置就好了 include ...