首页 > 代码库 > Delete Numbers(swust oj 0700)

Delete Numbers(swust oj 0700)

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)