作业帮 > 综合 > 作业

c语言删数问题【问题描述】通过键盘输入一个正整数n,去掉其中任意s个数字后,剩下的数字按原左右次序,将组成一个新的正整数

来源:学生作业帮 编辑:拍题作业网作业帮 分类:综合作业 时间:2024/05/03 13:06:49
c语言删数问题
【问题描述】
通过键盘输入一个正整数n,去掉其中任意s个数字后,剩下的数字按原左右次序,将组成一个新的正整数.编程对给定的n和s,寻找一种方案,使得剩下的数字组成的新数最小.
【样例】
输入:
n=178543
s =4
输出:
 最后剩下的最小数:13 .
这是我编好的程序,不过有点暴力,呵呵.#include <stdio.h>#include <math.h>int count(char *n, int s){    int i, j, t, x, min, sum;    t = strlen(n);    min = 9999999;///输入的数最大不超过9999999    for(x=0; x<=t-s; x++)///从头开始,计算每次跳过s位后的数据,吧最小的存起来    {        sum=0;        for(i=0; i<t; i++)        {            if(i>=x && i<x+s)///跳过其中的s位            {                continue;            }            sum = sum*10 + (n[i]-'0');        }        if(sum<min) min=sum;    }    return min;}int main(){    char n[12];///把n设置成字符串,便于计算其长度    int s, i, j;    while(scanf("%s %d", n, &s)==2)    {        printf("%d\n", count(n, s));    }}
c语言删数问题【问题描述】通过键盘输入一个正整数n,去掉其中任意s个数字后,剩下的数字按原左右次序,将组成一个新的正整数 输入一个N位高精度的正整数,去掉其中任意K个数字后剩下的数字按原左右次序组成一个新的正整数. 给出一个多位数N,从中删除S个数字,要求删除S个数字后,将剩下的数字按原左右次序组成一个新的正整数,使 C语言编程问题 从键盘输入一个小于六位数的正整数,按照相反的顺序输出各位上的数字. 任意给出一个正整数N,找一个正整数M,使得N*M的值的数字由0,1,...C组成,且这些数字最少出现一次. 从键盘输入一个正整数n,计算该数的个位数字之和并输出. C语言数字求和问题描述给定一个正整数a,以及另外的5个正整数,这5个整数中,小于a的整数的和是多少?输入输入一行,只包括 c语言,从键盘输入一个3位数的正整数,要求先后输出该数的百位数字与个位数字,各占一行 c语言求解.从键盘输入一个正整数N,再输入N个整数,按从小到大的顺序输出. 在正整数A的右边添上3个数字,组成一个新数,这个新数等于从1到A的所有正整数之和,求数A. 有一个两位正整数,其数字和为n,若将十位数上的数字与个位上的数字交换位置,组成一个新的两位数,求新两位数与原两位数之和? 有一个两位正整数,其数字和为n,若将十位上的数字与个位上的数字交换位置,组成一个新的两位数,求新两位数与原两位数之和.