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

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

价格 免费
//✋假设有个隧道,隧道以字符 ‘#’ 结束,挖矿的过程中,会遇到钻⽯ ‘*’ 和美⾦ ‘1’ ~ ‘9’ ,
//让矿⼯⼩六挖到隧道的尽头,假设每个钻⽯价值500美⾦,统计⼩六挖到了价值多少美⾦的收获?
//样例输⼊ ka4d*s6kkl8s*d9fyo#
//样例输出 1027

            char a;  //定义字符‘a’
            int r = 0; //定义最后的金额为r
            do
            {
                a = (char)Console.Read();  //获取用户输入的字符
                if (a=='*')  //判断输入的是否为‘*’ 
                {
                    r += 500;  //输入的为‘*’则r+500
                }
                else if (a >= '0' && a <= '9')  //判断输入的是否为字符数字
                {
                    int temp = a - '0';  //字符数字减去字符‘0’ 得到的就是本身数值
                    r = r + temp;  //将结果相加
                }
            } while (a != '#');  //当输入的是‘#’ 结束循环
            Console.WriteLine(r);
            Console.ReadKey();

 

[展开全文]
using System;

namespace _024_字符读取和编程题
{
    class Program
    {
        static void Main(string[] args)
        {
            //char c;// '0' -- 55  '9' --
            //int sum = 0;
            //do
            //{
            //    c = (char)Console.Read();
            //    if (c >= '0' && c <= '9')
            //    {
            //        int number = c - '0';
            //        sum += number;
            //    }
            //    else if (c == '*')
            //    {
            //        sum += 500;
            //    }
            //} while (c != '#');
            //Console.WriteLine(sum);
            //31dj*31#
            //508


            //int n = Convert.ToInt32(Console.ReadLine());
            //int count = 0;
            //string str = "";
            //for (int i = 1; i <= n; i++)
            //{
            //    if (n % i == 0)
            //    {
            //        count++;
            //        str += i + " ";
            //    }
            //}
            //Console.WriteLine(count);
            //Console.WriteLine(str);
            //9
            //1 3 9


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

 

[展开全文]


            char c;
            int sum = 0;
            do
            {
                c = (char)Console.Read();
                if (c >= '0' & c <= '9')
                {
                    int num = c - '0';
                    sum += num;
                }
                else if(c=='*')
                    {
                    sum += 500;
                }

            } while (c!='#');

            Console.WriteLine(sum);

[展开全文]

int n = Convert.ToInt32(Console.ReadLine());
            int sum = 0;
            for(int i = 1; i < 1000000; i++)
            {
                if (n % i == 0)
                {
                    sum += 1;
                }
            }
            if (sum == 2)
            {
                Console.WriteLine("yes");
            }
            else
            {
                Console.WriteLine("no");
            }

[展开全文]
int num = new Random().Next(1, 1000001);
Console.WriteLine("输入 -> {0}", num);

bool isPrimeNum = true;
for (int i = 2; i < num; i++) 
{
    if (num % i == 0 && num != i)
    {
        isPrimeNum = false;
        break;
    }
}

Console.WriteLine("输出 -> {0}", isPrimeNum && num != 1 ? "yes" : "no");

 

[展开全文]

因数是可以把这个数整除的数,任何一个非1正整数都至少有两个因数1和它本身。

只有1和自身这两个因数的非1正整数称为质数(素数)

[展开全文]

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

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

[展开全文]

授课教师

SiKi学院老师

课程特色

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