第六届itat C语言复赛~~~郁闷

第六届itat C语言复赛~~~郁闷

第二题.........
a[742683613984]  删除8个数,使其变为最小的4位数~~
当时就写了思路就交了: 

从前面往后退,a[i]>=a[i+1],就删了a[i],如此重复
#include < stdio.h >
#include
< string .h >

void  main()
{
  
char n[13]="742683613984";
  
int a[13],i,len,w=0,j;
  len
=strlen(n);
  
for(i=0;i<len;i++)
  
{
     a[i]
=n[i]-'0';
     printf(
"%d ",a[i]);
  }

  printf(
"\n");
  i
=0;
  
do
  
{
     
if(a[i]>a[i+1])
       
{
     printf(
"%d \n",a[i]);
     
for(j=i;j<len;j++)
        a[j]
=a[j+1];

     i
=0;
     w
++;
     len
--;
     
for(i=0;i<len;i++)
        
{
        printf(
"%d ",a[i]);
     }

     printf(
"\n");
     i
=0;
       }

       
else
      i
++;
  }
while(w<8);
  printf(
"\n");
}


你可能感兴趣的:(第六届itat C语言复赛~~~郁闷)