问题标题: 酷町堂:1769 数字之和

1
0
已解决
尹宗鑫
尹宗鑫
新手守护
新手守护

1769   数字之和

题目描述 Description

输入一个整数n,求此数字各个位数里最大值和最小值的和。

输入描述 Input Description

一个整数n(0<=n<=100000)

输出描述 Output Description

各个位数中最大数和最小数的和

样例输入 Sample Input

 

样例一:1234
样例二:5

样例输出 Sample Output

 

样例一:5
样例二:10

数据范围及提示 Data Size & Hint

最大值和最小值可以相同

#include<bits/stdc++.h>
using namespace std;
void read()
{
int n,i=1,a[7],max1,min1;
min1=999999999;
max1=-999999999;
cin>>n;
while(n!=0)
{
    a[i]=n%10;
    n=n/10;
    i++;
}
for(int j=1;j<=i;j++)
{
    min1=min(a[i],min1);
    max1=max(a[i],max1);
}
cout<<min1+max1;
}
int main()
{
read();
return 0;
}

10分


0
已采纳
丁振轩
丁振轩
资深光能
资深光能
定义 n;
    输入>>n;
    int Max=n%10,Min=n%10;
    while(n>0)
    {
        if(Max<n%10)
        Max=n%10;
        if(Min>n%10)
        Min=n%10;
        n=n/10;
    } 
    输出<<Max+Min;

1
童梦圆
童梦圆
资深守护
资深守护
头文件自己打
{
    长类型定义 d=0,x=9999,n;
    scanf("%d",&n);
    if(n==0)
    {
        cout<<"0"<<endl;
        return 0;
    }
    while(n!=0)
    {
        if(n%10>d)
        d=n%10;
        if(n%10<x)
        x=n%10;
        n/=10;
    }
    printf("%lld\n",d+x);//"%lld"printf长类型的必须这样写。cout不用
    return 0;
}
童梦圆在2018-11-02 08:35:54追加了内容

你编的太复杂,是没有把题目看清吧!

0
我要回答