2072=删数问题

 1 #include<stdio.h>
 2 #include<string.h>
 3 int main()
 4 {//典型的贪心问题(貌似是废话)。
 5     int i,len,n;
 6     char s[110];
 7     while(scanf("%s %d",s,&n)!=EOF)
 8     {
 9         while(n)
10         {
11             len = strlen(s);
12             i = 0;//要把这串数字作为字符串来处理。
13             while(i<len&&s[i]<=s[i+1])
14                 i++;//找开始降序的的一个数(例如1.2.4.3)这里把4删除。
15             while(i<len)
16             {
17                 s[i] = s[i+1];
18                 i++;
19             }
20             n--;
21         }
22         while(s[0]=='0')
23         {
24             while(i<len)//如果第一个数字是0,要跳过。
25             {
26                 s[i]= s[i+1];
27                 i++;
28             }
29             i = 0;
30         }
31         if(s[0]=='\0')
32             printf("0\n");
33         else
34             printf("%s\n",s);
35     }
36     return 0;
37 }

猜你喜欢

转载自www.cnblogs.com/Angfe/p/10673938.html