问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

...删除一位使得余下的数字是最大的,并输出。C语言实现

发布网友 发布时间:2024-07-16 02:07

我来回答

5个回答

热心网友 时间:2024-08-03 00:04

这是你要的逻辑。肯定没错。
#include <math.h>
#include <stdio.h>
void main()
{
int i,n;
int sum=0, result=0;
scanf("%d", &n);

i=1;
while(n>i)
{
result=n/i/10*pow((double)10,log10((double)i)) + n%i;
if(result > sum)
sum = result;
i*=10;
}

printf("%d",sum);
}

热心网友 时间:2024-08-03 00:13

输入一个数字:12345
要删除第几位? 3
剩余数字组成的最大数为:5421
Press any key to continue

#include<stdio.h>
main()
{
int i=0,j=0,k=0,wei,inum[20]={0};
char num[20]="\0",tmp[20]={0};
printf("输入一个数字:");
gets(num);
printf("要删除第几位? ");
scanf("%d",&wei);
while (num[i])
{
if (i+1==wei)
{
i++;
}
tmp[j]=num[i++];
inum[k++]=tmp[j++]-'0';
}
for (i=0;i<k-1;i++)
{
for (j=0;j<k-i-1;j++)
{
if (inum[j]<inum[j+1])
{
wei=inum[j];
inum[j]=inum[j+1];
inum[j+1]=wei;
}
}
}
printf("剩余数字组成的最大数为:");
for (i=0;i<k;i++)
{
printf("%d",inum[i]);
}
printf("\n");
}

热心网友 时间:2024-08-03 00:06

#include <stdio.h>
#include <math.h>
int len(int num)
{
return int(log10(num)) + 1 ;
}

int Cut(int num,int i)
{
int a,b,l;
l = len(num);
a = num / (int)pow(10,l - i + 1);
b = (num % (int)pow(10,l - i));

return a * (int)pow(10,l - i ) + b ;
}

int main()
{
int num=523456,i,max=0;

for (i = 1;i <= len(num);i++ )
{
if (max < Cut(num,i) )
max = Cut(num,i);
}
printf("%d\n",max);
return 0;
}

热心网友 时间:2024-08-03 00:08

#include <stdio.h>
int main(int argc, char **argv)
{
int m;
int i, j;
int len;
int factor;
char digits[32];

scanf("%d:", &m);

len = 0;
while(m){
if(len >= sizeof(digits)){
fprintf(stderr, "不应该发生的错误,数字过大!\n");
}
digits[len] = m % 10;
m /= 10;
len ++;
}

if(len < 2) {
printf("至少两位数!\n");
return 1;
}

/* 从最高位向最低位调整 */
for(i = len - 1; i > 0; i --){
/* 用大的数字占据高位, 除去digits[i] */
if(digits[i] < digits[i - 1]) break;
}
m = 0;
factor = 1;
for(j = 0; j < len; j++){
if(j == i) continue;
m += digits[j] * factor;
factor *= 10;
}
printf("%d\n", m);
return 0;
}

热心网友 时间:2024-08-03 00:11

觉得分析下数学逻辑吧,先看递增,再看递减

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int MaxInteger(char *Str)
{
char Buf[50];
char *s=Str,*p=Buf;
int value;
if(Str==NULL) return 0;
if(strlen(Str)==1) return 0;
if(*(s+1)&&*(s+1)>*s)
{
s++;
value=atoi(s);
}
else
{
*p++=*s++;
while(*(s+1)&&*s>*(s+1)) *p++=*s++;
s++;
while(*s) *p++=*s++;
*p='\0';
value=atoi(Buf);
}
return value;
}

int main()
{
char Str[50];
int Data;
gets(Str);
Data=MaxInteger(Str);
printf("%d\n",Data);
system("pause");
return 0;
}
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
64岁的老头感冒了,还喝一瓶啤酒,又喝3包感冒药,吃了3个阿莫西林消炎药... ...今天中午12点喝了一瓶啤酒,不会有反应死了吧? 喝一瓶啤酒吃药没事吧 养育孩子有哪些正确的方式? 联想电脑一开机就蓝屏怎么解决 光遇冥想任务怎么完成_冥想任务攻略 光遇 光遇云野的锦鲤池冥想怎么做? 光遇 光遇在滑冰场旁冥想的任务怎么做? 光遇在仙乡的金塔下冥想任务怎么做 任务达成方法介绍 光遇 光遇在禁阁的神坛旁冥想怎么做? 父母赠与的钱算夫妻共同财产吗 威里面换成叔的左边不加女念什么? 中国音乐学院社会艺术水平考级辅导:电子琴4级曲目 Java编写等腰三角形 大家来看看为什么我编写的是这样的!这不是等腰三角... 男色时代简介 我的三星6712在接听电话的时间老是自动拨打通过话的电话号码。。没有... 我在steam上买的骑马与砍杀团战,为什么是1.011版 请问怎么更新_百度... 孙子女能否继承祖父遗产的疑问 9188彩票网发展历程 紫薇花怎么浇水紫薇花的浇水技巧 windows准备就绪,可以拔u盘 cs2672c耐压测试仪,我想测下太阳能热水器中电加热的绝缘情况是否合格... 荣耀v20可以登陆两个微信吗 科长明的说对你好,希望你强大,实际是有点打压你。这怎么办?_百度... 父母放弃继承孙辈能继承吗? 爷爷奶奶没了孙子有继承权吗 小米手表2s怎么连接手机小米手表绑定手机的教程 ...朋友,对别人明明很真诚,却总是得不到好结果,感觉利用完我就不... cm中文是什么意思? 哪些招聘软件靠谱 有哪些微博大v ppt幻灯片放映机声音怎么设置ppt幻灯放映机声音在哪 绝缘靴手套耐压泄漏电流测试仪配套使用方法 知名微博大v有哪些 没有其它器材只有双杠,怎样练力量?求大神帮助 抖音怎么配音乐长一点抖音怎么配音乐 20岁当舅舅是个什么概念? 一个人单方面离婚要什么条件 如何使用小米电视手动开关? 化学式:HBrO读什么? 耐受挫折是什么意思? ...领导对我态度不好!我不知道怎么办了!我们科长也知 左右结构的字,左边是亻右边是叔怎么读又是什么意思 哪个软件招聘比较靠谱 芜湖远方美术学校远方美术学校发展历程 苹果13删除的照片如何恢复3个方法找回永久删除的照片 转氨酶参考值 广州东莞黄江镇到江西宜春万载镇有多远 如何下载应用到华为儿童手表3Pro? 爱乐透彩票版本有哪些特色功能?