C++金币银币问题

C++金币银币问题,第1张

函数调用那里我改了一下,这样方便点(sort(ar,lastgold+1,M-1)改成sort(ar,lastgold,M))

#include<iostream>

#define M 10

using namespace std

int gclass(int a[],int n)//归并,将金币放在数组前面的元素中,银币放在数组后面的元素中

{

//补充函数体

int i,j

int temp

int tn=n

int count=n//记录哪拆有多少个金币

for(i=0i<tni++)

{

if(a[i]%2==0)//找到一个银币

{

count--

temp=a[i]

for(j=tn-1j>ij--)

{

if(a[j]%2==1)

{

a[i]=a[j]

a[j]=temp

tn--

break

}

}

}

}

return count

}

void sort(int a[],int start,int end)//对数组a的从start到end之间的元素排序

{

//盯锋补充函数体

int temp

int i,j

for(i=starti<end-1i++)

{

for(j=i+1j<endj++)

if(a[i]<a[j]) //前面的数小于后面的数,两数交换

{

temp=a[i]

a[i]=a[j]

a[j]=temp

}

}

}

main()

{

int ar[M],i,lastgold

cout<<"李则枣输入"<<M<<"个金币银币(奇数代表金币,偶数代表银币)"<<endl

for (i=0i<Mi++)

cin>>ar[i]

lastgold=gclass(ar,M)

sort(ar,0,lastgold)

sort(ar,lastgold,M)//改成这样

for (i=0i<Mi++)

cout<<ar[i]<<" "

return 0

}

#include <stdio.h>

void main()

{

  int k, i

  while(scanf("%d",&k)!=EOF)

  {

      k-=265716//此数值为每批金币重量均为9时所取得和

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

      {

 蔽链         if(i<物并庆9)

   printf("%d ",9+k%3)

          else

              printf("%d\n",9+k%3)

         罩握 k/=3

      }

  }

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12520546.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-26
下一篇 2023-05-26

发表评论

登录后才能评论

评论列表(0条)

保存