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

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

价格 免费

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 + "/");
            }

[展开全文]

第六十七课  编程题(单个字符读取)

1. 数字和字符混合在一起,作为一个优秀的挖掘人员,把输入的数字挖出来,并计算这些数字的和,并输出,@作为输入的结束。

样例输入23a34a34@

样例输出19

bool temp = true;
int he = 0;
while (temp)
{

char a = (char)Console.Read();
    if (a != '@')
    {
        if (a >= '0' && a <= '9')
        {
            int number = a - '0';
            he += number;
        }
    }
    else
    {
        temp = false;
    }
}
Console.Write(he);

我是这样写的,真心不习惯用do...while语句,为什么用while都能些的非得要用do...while语句呢?可能经历的少吧。

[展开全文]

第六十六课  编程题

1. 回文数指正序(从左到右)和倒序(从右到左)读都是一样的整数。输入一个数,判断是否是回文数。输入的整数大于0,小于1000000。如果是回文数输出yes,不是则输出no。

样例输入 2397    输出 no

样例输入2992     输出yes

int n= Convert.ToInt32(Console.ReadLine());
int b = n;
int number = 0;
while (b != 0)
{
    int temp = b % 10;
    number = number * 10;
    number = number + temp;
    b = b / 10;
}
Console.WriteLine(number);
if (number == n)
{
    Console.WriteLine("yes");
}
else
{
    Console.WriteLine("no");
}

编程如果慢慢学还蛮有意思的。

 

[展开全文]

ctrl+k,ctrl+u注释

ctrl+k,ctrl+c取消注释

[展开全文]

Console.writeLine("Hello World!");

[展开全文]

Windows系统里面,每行结尾其实是“<回车><换行>”,即“ \r\n”

char a = (char)Console.Read();
char b = (char)Console.Read();
Console.WriteLine("-------");
Console.WriteLine(a);
Console.WriteLine("-------");
Console.WriteLine(b);
Console.WriteLine("-------");

Console.WriteLine(a == '\r' && b == '\n');

直接敲回车,结果为true

[展开全文]

第六十五课  编程题(循环体的标志位)

1. 随机输入一个整数num,输出一个新的数,新数恰好与原数每一位上的数字相反,(如果原数末尾有多个零,输出的新数高位不含0)。

int num = Convert.ToInt32(Console.ReadLine());
int temp = 1;
int he = 0;
string fei = "";
while (num > 1)
{
    int i = num % 10;
    num = num / 10;
    if (i > 0)
    {
        fei += i;      
    }    
}
Console.WriteLine(fei);

我这属于作弊不?嘿嘿!先学到这儿,我再想想。

2. 输入一个整数,如果这个数字末尾有数字0,则将末尾的0全部去掉,直到遇到不是零的数字,但输入的整数中间的0保留。

(这个我还没想好!!看了老师的讲解我也得好好反应反应,脑子被搅和乱了。)

int n= Convert.ToInt32(Console.ReadLine());
bool yudao = false;
while (n != 0)
{
    int i = n % 10;
    if(yudao == false)
    {
        if (i != 0)
        {
            Console.Write(i);
            yudao = true;
        }
    }
    else{
        Console.Write(i);
    }
    n = n / 10;

利用bool的两个判断的性质,来从一个判断中跳到另一个判断,这样的方法很好用,很经典Console.Write(i);

yudao = true;

这里的输出语句输出了一个数字,就是被判断不为零的第一个数字,所以要输出一下,然后将判断更改为另一面,就是true,跳出满足false条件的判断。

标志位:(个人定义的哈)

标记一个条件来判断,从而满足条件后跳出此标记的判断,并进入另一条语句。

其实没那么难,如果当时反应不过来就先干别的,回头再想,逻辑这东西如果不是天生的好,那么大家就都一样。

[展开全文]

第六十四课  编程题

1. 编写一个程序,打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方等于该数本身,例如153 = 1 * 1 * 1 * 5 * 5 * 5 * 3 * 3 * 3,所以153是“水仙花数”。

for(int i = 100; i<=999; i++)
{
    int ge = i % 10;
    int shi = (i / 10) % 10;
    int bai = i / 100;
    if (i == ge * ge * ge + shi * shi * shi + bai * bai * bai)
    {
        Console.WriteLine(i);
    }
}

三位数中的水仙花数,那就从最小的三位数一个个检查到最大的三位数,所以要在这起见遍历三位数,满足条件的打印出来。

2. 输入任意一个位数未知的整数,输出这个数每一位上的数字,输出的时候,从各位开始输出,霉输出一个数字换一行。

int n= Convert.ToInt32(Console.ReadLine());
while (n > 0)
{
    int a = n % 10;
    n = n / 10;
    Console.WriteLine(a);
}

2. 随机输入一个位数未知的整数,去除这个整数各个位上的0,形成新的数,并输出。输入的数字n大于0,小于1000000。样例输入20603样例输出263
int n= Convert.ToInt32(Console.ReadLine());
int temp = 0;
int i = 1;
while (n > 1)
{
    int a = n % 10;
    n = n / 10;
    if( a > 0)
    {
        temp += a * i;
        i *= 10;
    }    
}
Console.WriteLine(temp);

[展开全文]

//是注释

/*

*/ 多行注释

\ 转义

\n 换行

\t 四个空格?

\\ 表现为一个\

\"代表一个"

[展开全文]

第六十三课  编程题(复利的威力)

1. 已知sn=1+1/2+1/3+......1/n,显然对于任意一个整数k,当n足够大的时候,sn大于k。现输入一个整数k(1<=k<=15),要求计算出一个最小的n,使得sn>k。输入一个整数k,输出一个整数n。

样例:输入1,输出2.

int k= Convert.ToInt32(Console.ReadLine());
double sn = 0;
int n = 0;
if (1 <= k && k <= 15)
{
    while (sn <= k)
    {
        n++;
        sn += 1.0 / n;                
    }
    Console.WriteLine(n);
}
else
{
    Console.WriteLine("您的输入错误");
}

注:

难点在于n的赋值和n++的位置,放在前面就要赋值为0;放在后面就要提前赋值为1,那么输出的时候n的值就要减去1。

2. 我国现有14亿人口,按照每年0.1%的增长速度,n年后将有多少人呢?

int n =Convert.ToInt32(Console.ReadLine());
double x = Convert.ToInt32(Console.ReadLine());
for(int i = 1; i <= n; i++)
{
    x += x * 0.001;
}
Console.WriteLine(x);

修改成老师的答案:

int n =Convert.ToInt32(Console.ReadLine());
double x = Convert.ToInt32(Console.ReadLine());
for(int i = 1; i <= n; i++)
{
    x *= 1.001;
}
Console.WriteLine(x);

我终于知道人口增长统计表里的小数是怎么来的了,曾经还吐槽人家人口怎么还能有小数?怎么还能有半个人?唉!

3. 农夫约翰在去年赚了一大笔钱!他想要把这些钱用于投资,并对自己能得到多少收益感到好奇。已知投资的复合年利率为R(0到20之间的整数)。约翰现有总值为M的钱(100到1000000之间的整数)。他清楚地知道自己要投资y年(范围0到400)。请帮助他计算最终他会有多少钱。并输出它的整数部分。
数据保证输出结果在32位有符号整数范围内。
输入三个整数r、m、y,输出整数,即最终拥有多少钱。
Console.WriteLine("输入投资复合利率值");
double r = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("输入投资金额");
double temp = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("输入投资年数");
int y = Convert.ToInt32(Console.ReadLine());
if (0 < r && r <= 20 && 100 < temp && temp < 1000000 && 0 < y && y < 400)
{
    for(int i = 0; i < y; i++)
    {
        temp += temp * (r / 100.0);
    }
   int m = (int)temp;
    Console.WriteLine("利率为:"+r+"%"+" "+"收益金额为:"+m+" "+"投资年数为:"+y+"年");
}
else
{
    Console.WriteLine("输入正确数值");

改成老师的答案:

Console.WriteLine("输入投资复合利率值");
double r = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("输入投资金额");
double m = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("输入投资年数");
int y = Convert.ToInt32(Console.ReadLine());
if (0 < r && r <= 20 && 100 < m && m < 1000000 && 0 < y && y < 400)
{
    for(int i = 0; i < y; i++)
    {
        m = (int)(m+(m * (r / 100.0)));
    }
    Console.WriteLine("利率为:"+r+"%"+" "+"收益金额为:"+m+" "+"投资年数为:"+y+"年");
}
else
{
    Console.WriteLine("输入正确数值");

 

[展开全文]

007-运行第一个HelloWorld程序

第1个语法输出:

Console.WriteLine("Hello World!");

using System; //注释:引入命名空间 

namespace _001_开始

namespace 跟上的命名空间的名字,默认不能已数字开始,一般使用英文

class program     创建了类

main    创建了一个main方法

[展开全文]

授课教师

加我的QQ问问题:804632564

课程特色

下载资料(1)
视频(118)
图文(2)