31416人加入学习
(83人评价)
C#编程-第一季-编程基础-宇宙最简单2021最新版

制作完成于2021年10月10日,使用Visual Studio 2019

价格 免费

ctrl+k, ctrl+c 注释

ctrl+k, ctrl+u 取消注释

[展开全文]

第七十五课  猜数字小游戏

1. Random ad = new Random();

int a =ad.Next(11);

(个人理解)ad为随机变量,new Random()为随机变量的方法,然后可以int一个整数型来装.Nex后面的数字,我想这里是不是也可以装别的类型的东西呢?

2.随机数的取值范围

Random ad = new Random();

int a =ad.Next(1,20);

其实取值是从1到19,其中不包括最大的数20.

3. 猜数字游戏,随机生成一个正整数,用户输入一个数字,如果输入的数字小于随机生成的正整数,那么就输出“输入的数字小了”,反而反之,如果输入的数字与随机生成的数字相同,则输出“恭喜你,猜对了!”

Random ad = new Random();
int a =ad.Next(11);
while (true)
{
    int b = Convert.ToInt32(Console.ReadLine());
    if (b != a)
    {
        if (b > a)
        {
            Console.WriteLine("输入的数字大了");
         }
        else if (b < a)
        {
            Console.WriteLine("输入的数字小了");          
        }
    }
    else 
    {
        Console.WriteLine("恭喜你,猜对了!");
        break;
    }
}

总结:

写完程序以后,需要再想想是不是能简化,是不是有啰嗦的地方和干脆没必要的地方。(额~可能能检查出来吧!我要44)

[展开全文]

注释:Ctrl + K 然后Ctrl + C

取消注释:Ctrl +K 然后Ctrl + U

[展开全文]

第七十四课  编程题

1. 输入两个正整数num1和num2,输出这两个正整数的最大公约数。

int num1 = Convert.ToInt32(Console.ReadLine());
int num2 = Convert.ToInt32(Console.ReadLine());
int a = 0;
int b = 0;
if (num1 > num2)
{
    a = num1;
    num1 = num2;
    num2 = a;
}
for(int i = 1; i <= num1; i++)
{
    if (num1 % i == 0 && num2 % i == 0)
    {
        Console.WriteLine("共有公约数为:");
       for(int j = 0; j < i; j++)
        {
            if (b < i)
            {
                b = i;
            }
       }        
    }    
}
Console.Write(b); 

我的方法是从最小公约数开始,一直到最大公约数,但只保留最后一个公约数,就是最大公约数,然后输出。

老师的方法,让遍历循环递减遍历,只输出第一个公约数,老师的方法简单。

[展开全文]

第七十三课  九九乘法表和白文买鸡问题

1. 九九乘法表

for(int i =1; i <= 9; i++)
{
    for(int j = 1; j <= i; j++)
    {
        Console.Write("{0}*{1}" + "="+"{2}"+" ", j, i,j*i);
    }
    Console.WriteLine();
}

i即代表行数,遍历起来也代表在每行输出的个数。

2. 白文买鸡
用100文钱买鸡,公鸡、母鸡、小鸡都要有。其中,公鸡3文钱一只,母鸡5文钱一只,小鸡2文钱一只,请问公鸡、母鸡、小鸡各买多少只刚好100文钱?
把所有的满足情况罗列出来。
用x表示公鸡,y表示母鸡,z表示小鸡

int x = 0;  int temp = 0;
for (int i = 0; i < 34; i++)
{
    x += 3;
    int y = 0;
    for (int j = 0; j < 20; j++)
    {
        y += 5;
        int z = 0;
        for (int t = 0; t < 50; t++)
        {
            z += 2;
            if (x + y + z == 100)
            {
                Console.WriteLine("公鸡:{0}、母鸡:{1}、小鸡:{2}", x, y, z);
                temp++;
            }
        }
    }
}
Console.Write("共有{0}种情况",temp);

我滴天,憋死我了。 

老师的方法简单,将各类的钱数放在if语句的判断里,这样就简化了。

 

[展开全文]

case 1:

case 2 :

console.wirteline(" ");

break;

满足1或者2时 输出

[展开全文]

第七十二课  利用循环嵌套输出各种各样的图形

1. 输入正整数n,输出n行,每行n个*的平行四边形。

样例输入5

样例输出

*****
 *****
  *****
   *****
    *****

int n= Convert.ToInt32(Console.ReadLine());
for (int i = 0; i < n; i++)
{
    for (int j = 0; j < i; j++)
    {
        Console.Write(" ");
    }
    for (int t = 0; t < n; t++)
    {
        Console.Write("*");
    }
    Console.WriteLine();
}

2. 输入一个正整数n,输出n层的右三角形。

样例输入4

样例输出

   *
  **
 ***
****

int n= Convert.ToInt32(Console.ReadLine());
for (int i = n; i > 0; i--)
{
    for (int t = 1; t < i; t++)
    {
        Console.Write(" ");
    }
    for (int j = 0; j < n - (i - 1); j++)
    {
        Console.Write("*");
    }
    Console.WriteLine();
}

改成老师的方法:

int n = Convert.ToInt32(Console.ReadLine());
for(int i = 1; i <= n; i++)
{
    for(int j = 0; j < n - i; j++)
    {
        Console.Write(" ");
    }
    for(int j = 0; j < i; j++)
    {
        Console.Write("*");
    }
    Console.WriteLine();
}

老师的写法怎么看都想是代数,但这样的方法简洁直观。

int n= Convert.ToInt32(Console.ReadLine());
for(int i = 1; i <= n; i++)
{
    for(int j = 0; j < n - i; j++)
    {
        Console.Write(" ");
    }
    for(int j = 0; j < i; j++)
    {
        Console.Write("*");
    }
    Console.WriteLine();
}

我给大家按照代数的方法说一下哈。

设行数与每行字符为n,空格为j,星号为i。

每一样的空格为:n-i(i是遍历的,所以随着 i 的遍历,n-i的结果越来越少,所以每行空格越来越少)。

那么i代表*好,随着i++的遍历越来越多。

所以他们结合在一起就实现了以上星星的排列。

3. 输入一个正整数n,输出n层的等腰三角形。

样例输入4

样例输出

   *
  ***
 *****
*******

自己的写法:

int n= Convert.ToInt32(Console.ReadLine());
for (int i = n; i > 0; i--)
{
    for (int t = 1; t < i; t++)
    {
        Console.Write(" ");
    }
    for (int j = 0; j < n - (i - 1); j++)
    {
        Console.Write("*");
    }
    for (int m = 2; m < n - (i - 2); m++)
    {
        Console.Write("*");
    }
    Console.WriteLine();
}

我的方法是,将上一题的星星排列方法基础上,再写一部分程序,将少的那部分星星加上。

(明天再来看老师的课,先忙一会去)

老师的方法:

int n= Convert.ToInt32(Console.ReadLine());
for(int i = 1; i <= n; i++)
{
    for(int j = 0; j < n - i; j++)
    {
        Console.Write(" ");
    }
    for(int j = 0; j < 2 * i - 1; j++)
    {
        Console.Write("*");
    }
    Console.WriteLine();
}

以后能一并写出来的就一并写出来,不分开写,看来是我将简单的问题复杂化了。

4. 输入一个正整数n,输出n层的菱形。

样例输入4

样例输出

   *
  ***
 *****
*******
 *****
  ***
   *

自己写的:

int n= Convert.ToInt32(Console.ReadLine());
for(int i = 0; i<= n; i++)

    for(int j = 0; j < n - i; j++)
    {
        Console.Write(" ");
    }
    for(int j =0 ; j < 2*i-1; j++)
    {
        Console.Write("*");
    }
    Console.WriteLine();
}
for(int i = n -1; i>0; i--)
{
    for(int j = i; j < n ; j++)
    {
        Console.Write(" ");
    }
    for(int j = 0; j < i * 2 - 1; j++)
    {
        Console.Write("*");
    }
    Console.WriteLine();
}

[展开全文]

取模(求余)  %    用于整数

+ - * / %   int 计算出现小数时,会自动取整

[展开全文]

第七十一课  利用循环嵌套输出三角形

1. 输入整数n,输出n层的三角形

样例输入3

样例输出

*

**

***

int n = Convert.ToInt32(Console.ReadLine());
string temp = "";
for(int i = 1; i <= n; i++)
{
    temp += "*";
    Console.WriteLine(temp);
}

改成老师的方法:

int n= Convert.ToInt32(Console.ReadLine());
for(int i = 1; i <= n; i++)
{    
    for (int j = 0; j < i; j++)
    {
        Console.Write("*");
    }
    Console.WriteLine();
}

2. 输入整数n,输出n层的三角形的斜边。

样例输入5

样例输出

*
 *
  *
   *
    *

int n= Convert.ToInt32(Console.ReadLine());
for(int i = 0; i < n; i++)
{
    for(int j = 0; j < i; j++)
    {
        Console.Write(" "); 
    }
    Console.WriteLine("*");
}

第一层for语句写每行的输出,第二层for语句写每行中的输出。因为每行都有一个*号,那么*好就写在第一层for语句里面,第二层for就负责空格就行了。

空格难在第一行没有空格,那么我们就让输出的第一行没有空格。i是控制每个行的循环,i从1开始也好,从0开始也好,只是个循环次数,i终究是要到n或小于n的,从i到n是每一循环的过程,那么j是根据i的步骤来走的,那么如果j和i第一步不成立,在第二步开始有循环,这样就解决了第一步没有空格的问题了。

这东西很好玩,当时想有点乱,仔细想想也就那一个地方需要解决,然后就想点办法呗,实在不行不还有老师呢么。

3. 输入整数n,输出n层的三角形的斜边。

样例输入5

样例输出

    *
   *
  *
 *
*

int n= Convert.ToInt32(Console.ReadLine());
int t = n;
for (int i = 0; i < n; i++)
{
    
    for (int j = t; j > 1; j--)
    {
        Console.Write(" ");
    }
    t--;
    Console.WriteLine("*");
}

让从n递减,那么n还不能边,那就让t代替n来递减,我怎么感觉编程这玩应像代数呢?

老师的写法(还是老师的写法简单)

int n = Convert.ToInt32(Console.ReadLine());
for(int i = n; i > 0; i--)
{
    for(int j = 1; j < i; j++)
    {
        Console.Write(" ");
    }
    Console.WriteLine("*");
}

n 、i、 j之间的关系

n:为总路程

i:是一步一步走完总路程的一个玩应

j:i每走一步,j都要从0走一次,至于是从第一步就开始来回跑还是从第二步开始来回跑,那就看设置是从0到i,还是从1到i,还是其他设置方法了。

[展开全文]

为什么那么像类和shi li

[展开全文]

为什么下完后打不开呢

[展开全文]
枫儿666 · 2022-01-02 · 资料.zip 0

Comsole.writeline("Hello World")

Commsole.readline()

 

[展开全文]

第七十课  循环嵌套的基本用法

1. 输出每行10个*,共输出4行。

int temp = 0;
for(int i = 1; i <= 40; i++)
{
    Console.Write("*");
    temp++;
    if(temp == 10)
    {
        Console.WriteLine();
        temp = 0;
        continue;        
    }
}

老师的写法:

int temp = 0;
for(int i = 1; i <= 4; i++)
{
   for(int n = 1; n<=m; n++)
    {
         Console.Write("*");
    }
       Console.WriteLine();  
 }
 

2. 输入两个整数n和m,输出n行m列的*阵

int n= Convert.ToInt32(Console.ReadLine());
int m= Convert.ToInt32(Console.ReadLine());
int temp = 0;
for(int i = 1; i <= (n * m); i++)
{
    Console.Write("*");
    temp++;
    if (temp == n)
    {
        Console.WriteLine();
        temp = 0;
        continue;
    }
}

修改成老师的写法:

int n = Convert.ToInt32(Console.ReadLine());
int m = Convert.ToInt32(Console.ReadLine());
for(int a = 1; a <= n; a++)
{
    for(int b = 1; b <= m; b++)
    {
        Console.Write("*");
     }
    Console.WriteLine();
}

还是老师的写法好。

[展开全文]

第六十八课  循环中的continue

1. continue和break

它们都是终止循环的。

continue:

终止当前循环,继续下次循环。

break:

终止整个循环。

 

[展开全文]

 /*int ge, shi,shi1, bai;//123

            for (int a = 100;a < 1000; a++)
            {
                bai = a / 100;
                shi = a % 100;
                shi1 = shi / 10;
                ge = shi % 10;
                if ((ge * ge * ge) + (shi1 * shi1 * shi1) + (bai * bai * bai) == a)
                {
                    Console.WriteLine(bai + ""+shi1 + "" + ge + "");
                }

            }*/
            //1234
            /*int n = Convert.ToInt32(Console.ReadLine());
            for (; ; )
            {
                int ge = n % 10;
                Console.WriteLine(ge);
                n /= 10;
                if (n == 0)
                {
                    break;
                }
            }*/

            //1204
            int n = Convert.ToInt32(Console.ReadLine());
            int x = 1000000;
            while (x!=0)
            {
                int i = n / x;
                if (i != 0)
                {
                    n = n - x * i;
                    Console.Write(i);
                }
                x /= 10;

[展开全文]

第六十八课 编程题(因数和质数)

1. 假设有个隧道,隧道以字符‘#’结束。挖矿的过程中,会遇到钻石‘*’和美金‘1’~‘9’,让矿工小六挖到隧道的尽头,假设每个钻石价值500美金,统计小六挖到了价值多少美金的收获。

样例输入:ka4d*s6kkl8s*d9fyo#

样例输出:1027

char c;
int number = 0;
int temp = 0;
int he = 0;
do
{
    c = (char)Console.Read();
    if (c >= '0' && c <= '9')
    {
        int num = c - '0';
        number += num;
    }
    if (c == '*')
    {
        temp += 500;
    }
 } while (c != '#');
he += (number + temp);
Console.WriteLine(he);

还是练练do...while吧,嘿嘿!

修改:

char c;
int number = 0;
int he = 0;
do
{
    c = (char)Console.Read();
    if (c >= '0' && c <= '9')
    {
        int num = c - '0';
        number += num;
    }else
    if (c == '*')
    {
        number += 500;
    }
 } while (c != '#');
Console.WriteLine(number);

number在语句执行中可以反复使用,不用在另定义一个变量了。if语句的使用时,如果只有两个分支条件,最好使用if...else if。

2. 输入一个整数,输出该整数的因数个数和所有因数,输入的整数大于0,小于100000

样例输入9

3

1 3 9

int n= Convert.ToInt32(Console.ReadLine());
int temp = 0;
for (int i = 1; i <= 100000; i++)
{
    if (n % i == 0)
    {
        Console.Write(i + " ");
        temp += 1;
    }
}
Console.WriteLine();
Console.WriteLine(temp);

因为先输出的因数后输出的因数个数,这样的方法不符合题中的要求。

修改为:

int n= Convert.ToInt32(Console.ReadLine());
string cc = "";
int temp = 0;
for (int i = 1; i <= 100000; i++)
{
    if (n % i == 0)
    {
        cc += i + " ";
        temp += 1;
    }
}
Console.WriteLine(temp);
Console.WriteLine(cc);

其实我一直有个认识误区,种以为用字符串来输出算是偏门的方式,现在理解了,只要编译简单,逻辑合理,结果输出无误,那么任何方法都可以用,它们都一样。

3. 输入一个正整数,判断该数是否是质数,输入的数字大于0,小于100000.

如果为质数输出yes,如果不是则输出no。

样例输入 103

输出yes

nt n = Convert.ToInt32(Console.ReadLine());
int temp = 0;
for(int i = 1; i <= 100000; i++)
{
    if (n % i == 0)
    {
        temp++;
    }
}
if (temp == 2)
{
    Console.Write("yes");
}
else
{
    Console.Write("no");
}

[展开全文]

https://vlsualstudio.microft.com/downlo ad s/

[展开全文]

老师可以纠正,我们的写法比较死,有些方法不熟

string a = Convert.ToString(Console.ReadLine());
            string[] b = a.Split(" ");


            int[] d = new int[b.Length];
            for (int i = 0; i < b.Length; i++)
            {

                d[i] = Convert.ToInt32(b[i]);


            }
            for (int x = 0; x < d.Length; x++)
            {
                int suouin = x;
                int NEW = d[x];
                for (int i = x + 1; i < d.Length; i++)
                {

                    if (NEW > d[i])
                    {
                        NEW = d[i];
                        suouin = i;
                    }
                }
                int linfgs = d[x];
                d[x] = d[suouin];
                d[suouin] = linfgs;

            }

            foreach (int f in d)
            {

                Console.Write(f + ",");
            }
            int[] xing = new int[(d.Length )+ 1];
            Console.WriteLine(xing.Length);
            
            Console.WriteLine("请再输入一个数");
            int y = Convert.ToInt32(Console.ReadLine());

            int[] z = new int[d.Length + 1];
            int ysuoy = z.Length - 1;
            for(int i = 0; i < d.Length; i++)
            {
                if (y <= d[i])
                {
                    ysuoy = i;
                    break;
                }
            }
            for(int i = 0; i < z.Length; i++)
            {
                if (i < ysuoy)
                {
                    z[i] = d[i];
                }else if (i == ysuoy)
                {
                    z[i] = y;
                }
                else
                {
                    z[i ] = d[i-1];
                }
            }
            foreach(int f in z)
            {
                Console.Write(f + "/");
            }

[展开全文]

授课教师

问问题加入A计划,有专门负责答疑的老师哦!!!

课程特色

下载资料(1)
视频(117)
图文(3)