利用循环输出图像的编程题,数制,数据类型

071-利用循环嵌套输出各种各样的图形

  • 输⼊正整数n,输出n⾏,每⾏n个*的平⾏四边形。

样例输⼊5

样例输出

 int n = Convert.ToInt32(Console.ReadLine());
            for(int i = 1; i <= n; i++)
            {
                //前面的空格数相当于行号-1
                for (int j = 0; j < i - 1; j++)
                {
                    Console.Write(" ");
                }
                //还需要输出n个*
                for(int j = 0; j < n; j++)
                {
                    Console.Write("*");
                }
                //整体输入结束之后需要做一个换行
                Console.WriteLine();
  • 输⼊⼀个正整数n,输出n层的右三⾓形。

样例输⼊4

样例输出

int n = Convert.ToInt32(Console.ReadLine());
            for (int i=1;i<=n;i++)
            {
                //需要输出n-i个空格,i个*
                for(int j = 0; j < n - i; j++)
                {
                    Console.Write(" ");
                }
                for(int j = 0; j < i; j++)
                {
                    Console.Write("*");
                }
                Console.WriteLine();
            }
  • 输⼊⼀个正整数n,输出n层的等腰三⾓形。

样例输⼊4

样例输出

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

            }

九九乘法表和百文买鸡问题

  • 输出9*9乘法表

for(int i = 1; i <= 9; i++)
            {
                //i 右乘数 左乘数1-i
                for(int j = 1; j <= i; j++)
                {
                    Console.Write("{0}X{1}={2} ", j, i, j * i);
                }
                Console.WriteLine();

            }
  • ⽤100⽂买⼀百只鸡,其中公鸡,⺟鸡,⼩鸡,都必须要有,公鸡3⽂⼀只,⺟鸡5⽂⼀只,⼩鸡

2⽂⼀只,请问公鸡、⺟鸡、⼩鸡要买多少只刚好凑⾜100⽂。

把所有的满⾜条件的情况罗列出来。

 for(int x = 1; x < 100 / 3; x++)
            {
                for(int y = 1; y < 100 / 5; y++)
                {
                    for(int z = 1; z < 100 / 2; z++)
                    {
                        //判断是否花了100文
                        if((x*3+y*5+z*2)==100)
                        {
                            Console.WriteLine("公鸡{0},母鸡{1},小鸡{2}",x,y,z);
                        }
                    }
                }
            }
  • 输⼊两个整数num1和num2,输出这两个正整数num1和num2的最⼤公约数

 int num1 = Convert.ToInt32(Console.ReadLine());
            int num2 = Convert.ToInt32(Console.ReadLine());
            int min = num1;
            if (num2 < num1)
            {
                min = num2;
            }
            for(int i = min; i > 0; i--)
            {
                if (num1 % i == 0 && num2 % i == 0)
                {
                    Console.WriteLine("最大公约数{0}", i);
                }
                break;
            }

074-猜数字小游戏

  • 由系统⽣成⼀个随机数(1-100),让玩家猜数字,如果猜的数字⽐随机数⼩,输出猜⼩了,如

果猜的数字⽐随机数⼤,输出猜⼤了,猜中的话,输出猜中了,并结束游戏,没有猜中的话,就

让玩家⼀直猜

//随机数的生成Random
            Random rd = new Random();
            //Next方法生成伪随机数,1-10 实际上生成的是 1-9
            //Console.WriteLine(rd.Next(1, 10));

            int number = rd.Next(1, 101);

            while (true)
            {
                Console.WriteLine("猜猜我的数字是多少?");
                int numberUser = Convert.ToInt32(Console.ReadLine());
                if (numberUser > number)
                {
                    Console.WriteLine("你猜大了");
                }else if (numberUser < number)
                {
                    Console.WriteLine("你猜小了");
                }
                else
                {
                    Console.WriteLine("你猜中了");
                    break;
                }

075-基本数据类型-整型

类型

描述

范围

默认值

bool

布尔值

True 或 False

False

byte

8 位无符号整数

0 到 255

0

char

16 位 Unicode 字符

U +0000 到 U +ffff

'\0'

decimal

128 位精确的十进制值,28-29 有效位数

(-7.9 x 1028 到 7.9 x 1028) / 100 到 28

0.0M

double

64 位双精度浮点型

(+/-)5.0 x 10-324 到 (+/-)1.7 x 10308

0.0D

float

32 位单精度浮点型

-3.4 x 1038 到 + 3.4 x 1038

0.0F

int

32 位有符号整数类型

-2,147,483,648 到 2,147,483,647

0

long

64 位有符号整数类型

-9,223,372,036,854,775,808 到 9,223,372,036,854,775,807

0L

sbyte

8 位有符号整数类型

-128 到 127

0

short

16 位有符号整数类型

-32,768 到 32,767

0

uint

32 位无符号整数类型

0 到 4,294,967,295

0

ulong

64 位无符号整数类型

0 到 18,446,744,073,709,551,615

0

ushort

16 位无符号整数类型

0 到 65,535

0

带u的都是无符号的

//常用的就是byte int long
            sbyte a = 100;
            sbyte b = -100; //200超过byte的最大值了100

            int c = 2100000000;

            long d = 2342432343243243243;

            byte e =-19//byte是无符号类型,不能存负数

大小容器之间的赋值讨论

//常用的就是byte int long
            sbyte a = 100;
            sbyte b = -100; //200超过byte的最大值了100

            int c = 2100000000;

            long d = 2342432343243243243;

            byte e = 19;//byte是无符号类型,不能存负数

            //c = a;//sbyte比int小,因此不需要强赛也能赋值

            a =(sbyte) c;//int比sbyte大,必须强赛才能赋值
            //但其实强赛会导致c的数值丢失
            //除非c里储存的数值也是a的范围
            Console.WriteLine(a);//21亿在a里变成了0

有符号容器和无符号容器之间的赋值讨论

  //常用的就是byte int long
            sbyte a = 100;
            sbyte b = -100; //200超过byte的最大值了100

            int c = 2100000000;

            long d = 2342432343243243243;

            byte e = 19;//byte是无符号类型,不能存负数

            //c = a;//sbyte比int小,因此不需要强赛也能赋值

            //a =(sbyte) c;//int比sbyte大,必须强赛才能赋值
            但其实强赛会导致c的数值丢失
            除非c里储存的数值也是a的范围
            //Console.WriteLine(a);//21亿在a里变成了0

            //a = e;把无符号的赋值给了有符号的
            //e=a;把有符号的赋值给了无符号的,一样会报错

076-基本数据类型-浮点(小数)类型

类型

数值范围

float

单精度浮点型,占用4个字节,最多保留7位小数

double

双精度浮点型,占用8个字节,最多保留16位小数

  float f = 4.5f;//如果要定义float小数类,这个小数后面要加上一个f,因为你直接写小数的话,小数的默认类型是double类型
            f = 2123456789;
            Console.WriteLine(f);//2.123457E+09,float虽然存储的类型比较大,但是只能保留有限的小数点

077-类型的转换(显式和隐式转换)

赋值的时候,两边类型是需要⼀致的,如果不⼀致的话,就需要转换类型。有些条件下,会⾃动

进⾏转换,叫做隐式转换。有些情况下,需要我们告诉编译器进⾏类型转换,叫做显⽰转换,也

叫做强制类型转换,强塞。

隐式转换 - 不需要写更多的代码,⾃动进⾏。

当⼩盒⼦放⼊⼤盒⼦的时候,肯定可以放得下,所有会⾃动进⾏转换。不需要做多余操作

 byte a = 32;
            int b = 1000;
            //b = a;//这里类型不同却没有报错,因为是隐式转换
            a = (byte)b;//这里必须要写强赛,否则就报错,因为是显式转换
            //显示转换数据有可能丢失
            Console.WriteLine(a);//1000赋值之后却变成232,因为数据丢失了

编译器只检查容器⼤⼩,不检查容器内的具体数值⼤⼩,为什么?因为变量⾥⾯的东⻄是变

化的,变量⾥⾯的值需要在程序运⾏的时候才确定下来。

类型的转换,得是同⼀类型,⽐如数字类型之间可以相互转换,但是我们不能把⼀个字符串转换

成整数类型。但是如果要把⼀个数字字符串,转换成数字的话,我们是有对应的⽅法的。

 //数字类型的字符串可以转换成对应的数字
            int i = Convert.ToInt32("123456");
            doubile j = Convert.ToDouble("4.6");

            //数字也可以转换成字符串
            string s = 123 + " ";//任意数字加上字符串都会变成字符串,得到”123“
            string s2 =Convert.ToString(123);//使用方法转换为字符串

078-什么是数制(二进制)

每⼀位,只能存储0和1,所以计算机中所有的数据都是使⽤⼆进制来计算的。⼆进制是计算机

使⽤的计算数制,我们⼈类平时使⽤⼗进制,是因为我们是以10为单位,⽅便我们计量,我们

双⼿就是正好⼗个⼿指头

079-十进制和二进制之间的转换

二进制 0-1

十进制0-9

八进制0-7

十六进制0-a b c d e(字母代表了10-14)

进制在线转换⼯具 :https://tool.lu/hexconvert/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值