您的位置:首页 > 其它

Delete Numbers(swust oj 0700)

2014-12-19 12:12 169 查看
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:12312 在第二个1处突变,故应该删除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;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: