码迷,mamicode.com
首页 > 其他好文 > 详细

Delete Numbers(swust oj 0700)

时间:2014-12-19 13:00:14      阅读:104      评论:0      收藏:0      [点我收藏+]

标签:

Description:http://acm.swust.edu.cn/problem/0700/

 AC代码:

 

 

#include<stdio.h>
#include<string.h>
int main()
{
    char digit[2000];
    while(scanf("%s",digit)!=EOF){
    int len=strlen(digit);
    int del,i,j;
    scanf("%d",&del);
    int head=0;
    for(i=0;i<del;i++){
        //如果数字式升序排列,就删除最后一位数,否则删除最先突变的那一位数的前一位数
        //即最先没按照升序排列的数字的前一位。ex:12345 在4处突变,故应该删除3.
        int a=head+1;
        while(digit[a]>=digit[a-1]&&a<len) a++;
        a--;
            for(j=a;j>=head+1;j--)
                digit[j]=digit[j-1];
        head++;
    }
    while(digit[head]==0&&head!=len-1) head++;
    if(head<len){
    for(i=head;i<len;i++)
        printf("%c",digit[i]);
    //if(head>=len)
    //    printf("0");
    printf("\n");
    }}
    return 0;
}

 

Delete Numbers(swust oj 0700)

标签:

原文地址:http://www.cnblogs.com/yanglingwell/p/4173618.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!