首页 新闻 会员 周边

在C#控制台应用程序中,给定一个数组,求拼接后最大的值和最小的值

0
悬赏园豆:10 [已解决问题] 解决于 2022-06-23 10:47

在C#控制台应用程序中,创建一个数组,数组中有无规律的数字,让后将数组中的值进行拼接,然后输出拼接后的最大值和最小值

宋人鱼的主页 宋人鱼 | 初学一级 | 园豆:14
提问于:2022-06-22 11:38

看你之前的提问都没有结帖啊

会长 1年前

@会长: 观察入微

三人乐乐 1年前

@三人乐乐: 不结帖我就不回答,哈哈

会长 1年前
< >
分享
最佳答案
1
// 定义数组
int[] nums = new int[5] { 1, 4, 6, 9, 2 };
// 转换成集合
List<int> lst = new List<int>(nums);
// 排序,默认降序
lst.Sort();
// 输出最小值
var minStr = string.Join("", lst);
// 反序
lst.Reverse();
// 输出最大值
var maxStr = string.Join("", lst);
Console.WriteLine($"最大值:{ maxStr },最小值:{ minStr }");
收获园豆:10
三人乐乐 | 老鸟四级 |园豆:4819 | 2022-06-22 14:57

谢谢,可以使用,但我有个问题转换成集合后面为什么要加(nums)?还有输出最小值,为什么要string.Json("",lst)这个不是转Json格式吗?

宋人鱼 | 园豆:14 (初学一级) | 2022-06-22 16:12

@宋人鱼: nums是数组呀,不加怎么转,这个是C#的特性;Join是字符串拼接

三人乐乐 | 园豆:4819 (老鸟四级) | 2022-06-22 16:32

@三人乐乐: 好的,知道了,谢谢解答疑惑

宋人鱼 | 园豆:14 (初学一级) | 2022-06-22 17:02

@三人乐乐: 我刚刚试了试,你的这个代码仅限于个位数,如果数组中出现了两位数,结果就不对了

宋人鱼 | 园豆:14 (初学一级) | 2022-06-22 17:04

@宋人鱼: 两位数就要做拆分了

三人乐乐 | 园豆:4819 (老鸟四级) | 2022-06-22 17:09

@三人乐乐: 你的意思是吧两位数分开,然后十位数和别的个位数进行比较看在第几位,然后十位数和个位数进行拼接吗

宋人鱼 | 园豆:14 (初学一级) | 2022-06-23 10:03

@宋人鱼: 对,取余

三人乐乐 | 园豆:4819 (老鸟四级) | 2022-06-23 13:50

@三人乐乐: 好的,谢谢

宋人鱼 | 园豆:14 (初学一级) | 2022-06-23 15:30
其他回答(1)
0

var numStrs = nums.sort(num=>num).Select(num=>num.tostring());
var minStr=string.join("",numStrs);
var maxStr=string.join("",numStrs.Reverse());

彭小立 | 园豆:634 (小虾三级) | 2022-06-22 11:59

谢谢,你的代码不是完整的,我看不懂

支持(0) 反对(0) 宋人鱼 | 园豆:14 (初学一级) | 2022-06-22 16:13
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册