删数问题

#include<stdio.h>
#include<conio.h>
#include<string.h>
/*  
    每一步总是选择一个使剩下的数最小的数字删除,
    即按高位到低位的顺序搜索,若各位数字递增,
    则删除最后一个数字;否则删除第一个递减区间的首字符,
    这样删一位便形成了一个新的数字串。然后回到串首,
    按上述规则再删除下一个数字
*/
void main(void)
{
    char a[20];
    int k,i,j,m,len;             //index
    printf("input N and K:");
    scanf("%s %d",a,&k);
    len=strlen(a);

    for(i=0;i<k;i++)
    {
        for(j=0;j<len;j++)
        {
                if(a[j]>a[j+1])
                {   
                    for(m=j;m<len;m++)
                    {
                        a[m]=a[m+1];
                    }
                    a[len]='/0';
                    len--;
                    puts(a);
                    printf("\n");
                    break;
                }
        }
    }
    puts(a);

    getch();
}
阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_27344169/article/details/51559521
文章标签: c语言
个人分类: c语言
上一篇ACM no.54 no.62
想对作者说点什么? 我来说一句

用贪心算法求解删数问题

2013年01月03日 172KB 下载

贪心算法实现删数问题

2009年07月09日 1KB 下载

没有更多推荐了,返回首页

关闭
关闭