⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 新建 文本文档 (2).txt

📁 这是算法设计上面的部分答案
💻 TXT
字号:






/*
   author@ huping
   time@   11/10/2007  14:46 
   有length个程序放在maxvalue容量的磁带上,设计存储方案使存储更多的程序。
*/
#include "stdio.h"
#include "stdlib.h"
int   compar   (const   void   *a , const   void   *b)   //using for qsort compare 
  {   
  int   *aa=(int   *   )   a,*bb   =   (int   *   )b;   
  if(   *   aa   >*   bb)return   1;   
  if(   *   aa   ==   *   bb)   return   0;   
  if(   *   aa   <   *bb)   return   -1;   
  }
int main(){
 int length, maxvalue,i;
 int localmax=0,j=0;
 int *all;
 scanf("%d %d" ,&length ,&maxvalue);
 all=(int *)malloc(sizeof(int)*length);  //init the array
 
 for(i=0;i<length;i++){
  scanf("%d", &all[i]);
 }
 qsort(all,length,sizeof(int),compar);    //sort it

    for(i=0;i<length;i++){
        j++;
  if(localmax+=all[i]>maxvalue){
   j--;
   break;
  }
 }
    printf("max program is  %d",j);
 free(all);
 return 0;
}





*******************************************************
*******************************************************
#include "stdio.h"
int  nmal, kget,*all;
 int getnext(int *,int,int);
int main(){
 int i,count=0;
 scanf("%d %d" ,&nmal ,&kget);
 all=(int *)malloc(sizeof(int)*(kget+1));  //init the array
 for(i=0;i<(kget+1);i++){
  scanf("%d", &all[i]);
 }
 i=0;
 while(i<(kget)){
  int temp=getnext(all,i,nmal);
  //printf("%d", temp);
  if(i==temp){
      printf("%s", "NO Solution");
   return 0;
  }
  else{
   i=temp;
  }
        count++;
 }
 printf("times to get oil is %d",count-1);
    printf("\n");
 free(all);
 return 0;
}
int getnext(int *all,int i,int max){
 int j, localmax=0;
 for(j=i;j<kget;j++){
  if((localmax+=all[j+1])>max)
   return j;
 }
 return j;
}




********************************************
********************************************
#include "stdio.h"
#include  "stdlib.h"
#include "string.h"
int *all;
int   compar   (const   void   *a , const   void   *b)   //using for qsort compare 
  {   
  int   *aa=(int   *   )   a,*bb   =   (int   *   )b;   
  if(   *   aa   >*   bb)return   1;   
  if(   *   aa   ==   *   bb)   return   0;   
  if(   *   aa   <   *bb)   return   -1;   
  }
int main(){
 int*temp;
 int ddkl=0;
 char *s1="178543";
 int result;
 int del=4;
 int i,j,length;
 length=strlen(s1);
 all=(int *)malloc(sizeof(int)*length); 

 for(i=0;s1[i];i++){
       all[i]=s1[i]-'0';
    printf("%c",s1[i]);
 }
 printf("\n");
 qsort(all,length,sizeof(int),compar);    //sort it
 
 for(i=0;i<length;i++){
    printf("%d",all[i]);
 }
    printf("\n");
 temp=(int *)malloc(sizeof(int)*(length-del)); 
    for(j=0;j<(length-del);j++){
  temp[j]=0;
    }
 for(i=0;i<length;i++){
     for(j=0;j<(length-del);j++){
   if((s1[i]-'0')==all[j]&&temp[j]==0){
    printf("%d",all[j]);
    ddkl=ddkl*10+all[j];
    temp[j]=1;
    break;
   }
  }
 }
 printf("\n");
 printf("%d",ddkl);
    free(all);
 free(temp);

 return 0;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -