输入一个数字,从其中删除一位使得余下的数字是最大的,并输出。C语言实现
7个回答
展开全部
#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;
}
#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;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include "stdio.h"
int p(int x)
{
int i=1;
int y=10;
if(x==0)
return 1;
while(i<x)
{
y*=10;
i++;
}
return y;
}
void main()
{
int a,b,i;
int n=0;
int max=0;
printf("Input:");
scanf("%d",&a);
b=a;
while(b>0)
{
b/=10;
n++;
}
for(i=0;i<n;i++)
{
if(a/p(i+1)*p(i)+a%p(i)>max)
max=a/p(i+1)*p(i)+a%p(i);
}
printf("%d\n",max);
}
int p(int x)
{
int i=1;
int y=10;
if(x==0)
return 1;
while(i<x)
{
y*=10;
i++;
}
return y;
}
void main()
{
int a,b,i;
int n=0;
int max=0;
printf("Input:");
scanf("%d",&a);
b=a;
while(b>0)
{
b/=10;
n++;
}
for(i=0;i<n;i++)
{
if(a/p(i+1)*p(i)+a%p(i)>max)
max=a/p(i+1)*p(i)+a%p(i);
}
printf("%d\n",max);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询