zoukankan      html  css  js  c++  java
  • SDUT 2072 删数问题

    我做这个题了解到的是要注意的是删除过程中可能会使原来包含0的数字串变成若干个以0开始的序列,当遇到数字串首位是0的时候,把高位的0去掉。

    题目描述

     键盘输入一个高精度的正整数n(≤100位),去掉其中任意s个数字后剩下的数字按照原来的左右次序组成一个新的正整数。编程对给定的n与s,寻找一种方案,使得剩下的数字组成的新数最小。

    输入

      输入有多组 每组包括原始数n,要去掉的数字数s;

    输出

     输出去掉s个数后最小的数

    示例输入

    178543  4

    示例输出

    13


    View Code
     1 #include<stdio.h>
     2 #include<string.h>
     3 void main()
     4 {
     5     int n,i,j;
     6     char a[101];
     7     while(scanf("%s",a)!=EOF)
     8     {
     9         scanf("%d",&n);
    10         while(n)
    11         {
    12             i=0;
    13             while(i<strlen(a)&&a[i]<=a[i+1])
    14                 i++;
    15             while(i<strlen(a))
    16             {
    17                 a[i]=a[i+1];
    18                 i++;
    19             }
    20             n--;
    21         }
    22         for(i=0;i<strlen(a);i++)
    23         {
    24             if(a[i]!='0')
    25             {
    26                 printf("%c",a[i]);
    27                 break;
    28             }
    29         }
    30         for(j=i+1;j<strlen(a);j++)
    31             printf("%c",a[j]);
    32         puts("");
    33             
    34         
    35         
    36     }
    37 }
  • 相关阅读:
    第九周周记
    第七周周记
    第三次作业第一题
    第五周周记
    《世界是数字的》读后感想
    第十周周记
    迷茫
    测试作业
    价值观作业
    作业二 感想
  • 原文地址:https://www.cnblogs.com/timeship/p/2519824.html
Copyright © 2011-2022 走看看