c#练手code

做一个控制台程序,要求输入三个任意整数,将三个数按从大到小的顺序输出。

根据排列组合,知道有6中情况,一是可以采用排序,不过有些小题大做。二是可以交换,输出。

方法一

采用交换,让a最大,b第二大,就行了。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApplication11
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine(" put into  3 numbers");
            int a, b, c;
            a = int.Parse(Console.ReadLine());
            b = int.Parse(Console.ReadLine());
            c = int.Parse(Console.ReadLine());
            display(a, b, c);
        }

        static void  display(int a, int b, int c)
        {
    //保证a最大
        if(a<b) 
         swap(ref a, ref b); 
        if(a<c)
        swap(ref a, ref c);
    //保证b第二大
        if(b<c)
        swap(ref b, ref c);
           Console.WriteLine("{0},{1},{2}", a, b, c);
        }

    // 交换函数
        static void swap(ref int a,ref int b)
        {
           int temp = a;
            a = b;
            b = temp;
        }    

    }
}
 put into  3 numbers
55
88
111
111,88,55
请按任意键继续. . .

采用冒泡排序,搞定

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace homework1
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine(" put into  3 numbers");
            int a,b,c;
            a = int.Parse(Console.ReadLine());
            b = int.Parse(Console.ReadLine());
            c = int.Parse(Console.ReadLine());

            Console.WriteLine("the array:");
            int[] num = { a, b, c };
            display(num);
            sort(num);
            Console.WriteLine(" sort the end");
            display(num);


        }

        static void sort(int[] str)
        {
            for(int i=0; i<str.Length-1; i++)
                for (int j = 0; j < str.Length - i - 1; j++)
                {
                    if (str[j] < str[j + 1])
                    {
                        int temp = str[j];
                        str[j] = str[j + 1];
                        str[j + 1] = temp;
                    }

                }

        }



        static void display(int[] str)
        {

            foreach (int n in str)
                Console.WriteLine(n);
        }




    }
}
 put into  3 numbers
11
22
66
the array:
11
22
66
 sort the end
66
22
11
请按任意键继续. . .

定义一个student的结构体,有姓名,分数属性,输入3组数据,在输出,并求出平均分

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace homework3
{
    class Program
    {

        struct Student
        {
            public string name; //姓名
            public float math; //数学成绩
        }

        static void Main(string[] args)
        {

            Student[] s = new Student[4];
            s= input(s);
            display(s);
            //  double ave = s[0].math + s[1].math + s[2].math;
            float ave = s[s.Length - 1].math;
            Console.WriteLine("the average mark is :" + ave/3);
            Console.WriteLine();

        }

        static Student[] input(Student[] s)
        {
            float sum = 0;
            for(int i=0; i<s.Length-1; i++)
            {
                
                Console.WriteLine("put "+(i+1)+" student name and mark:");
                s[i].name = Console.ReadLine();
                s[i].math = (float)Convert.ToDouble(Console.ReadLine());
                sum += s[i].math;
            }
            s[s.Length - 1].math = sum;
            return s;
        }

        static void display(Student[] s)
        {
            for(int i=0; i<s.Length; i++)
            {
                Console.WriteLine("{0}的数学成绩是:{1}",s[i].name,s[i].math);
            }
        }

    }
}

结果是:

put 1 student name and mark:
a
85
put 2 student name and mark:
b
90.5
put 3 student name and mark:
c
76.5
a的数学成绩是:85
b的数学成绩是:90.5
c的数学成绩是:76.5
的数学成绩是:252
the average mark is :84

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏知识分享

C#虚方法

如果说在一个类中已经使用了一个方法而且已经实现,而我想在它的子类中也想使用这个方法,而且也想实现 就像下面这种样子--但是现在还不能用 using System...

34350
来自专栏跟着阿笨一起玩NET

C#中汉字排序简单示例(拼音/笔划)

31610
来自专栏菩提树下的杨过

DataTable,List去重复记录的方法

今天一位朋友问如何去掉DataTable里重复的记录(DataTable是别人返回过来的,不能再重新查询数据库,所以无法用sql中的select distinc...

295100
来自专栏JadePeng的技术博客

使用贝叶斯做英文拼写检查(c#)

贝叶斯算法可以用来做拼写检查、文本分类、垃圾邮件过滤等工作,前面我们用贝叶斯做了文本分类,这次用它来做拼写检查,参考:How to Write a Spelli...

393130
来自专栏跟着阿笨一起玩NET

C#中格式化数据的输出

alignment:可选,是一个带符号的整数,指示首选的格式化字段宽度。如果“对齐”值小于格式化字符串的长度,“对齐”会被忽略,并且使用格式化字符串的长度作为字...

11500
来自专栏hbbliyong

LINQ分页和排序,skip和Take 用法

LINQ分页和排序,skip和Take 用法 dbconn.BidRecord.OrderBy(p=>p.bid_id).ToList<BidRecord>()...

40490
来自专栏c#开发者

make Entity Framework revert empty strings to null!

public override int SaveChanges(SaveOptions options)         {             forea...

29260
来自专栏c#开发者

lightswitch 添加 TreeView 控件

代码片段 <UserControl xmlns:sdk="http://schemas.microsoft.com/winfx/2006/xaml/presen...

32870
来自专栏跟着阿笨一起玩NET

c#委托把方法当成参数

34810
来自专栏Kotlin入门系列

C#控制台基础 将十六进制的字符串 转换成 十进制数

71150

扫码关注云+社区

领取腾讯云代金券