Delete Numbers(swust oj 0700)
时间:2014-12-19 13:00:14
收藏:0
阅读:104
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; }
评论(0)