转换数字字符的方法:
String str = Console.ReadLine(); // 默认输入数字类字符
int strInt = Convert.ToInt32(str);
int num = Convert.ToInt32(Console.ReadLine()); // 连贯的
转换数字字符的方法:
String str = Console.ReadLine(); // 默认输入数字类字符
int strInt = Convert.ToInt32(str);
int num = Convert.ToInt32(Console.ReadLine()); // 连贯的
第八十九课 编程题-取得最小值
1. 完全发蒙,前半部分听明白了,后半部分就浆糊了。。。。。。。我先上班去。
输入n(n<100)个数,找出其中最小的数,将它与最前面的数交换后输出这些数。
思路一共分三步:(不复杂,只是让你眼花缭乱,老师讲得很清楚,集中注意力都能听得懂)
①将用户输入的字符串转换为整数型数组。
②利用遍历索引来逐个与设定的第一个数值比较大小,找出最小值和最小值的索引。
③将找出的最小值以索引的形式与原来设定的第一个数值交换索引,也就是在整数型数组中交换它俩的位置,最后用foreach遍历输出他们就OK。
string str = Console.ReadLine();//获得用户输入字符串。
string[] strArray = str.Split(" ");//用空格为标志将用户字符串拆分成字符串组。
int[] intArray = new int[strArray.Length];//创建一个整数型数组,长度是被拆分后的用户输入字符串的长度。
for(int i = 0; i < strArray.Length; i++)//for循环中的长度为拆分用户输入字符串组的长度。
{
int number = Convert.ToInt32(strArray[i]);//将每个拆分后的字符串转换为整形数值。
intArray[i] = number;//将转换后的整形数值保存在intArray数组变量中。
}
//①①①①①①以上将用户输入的字符串转换为整数型数组。①①①①①①①
int min = intArray[0];//拿出数组中第一个数值,以便用来与后面的数值做比较。
int minIndex = 0;//用来保存最小数值的索引值。
for(int i = 1; i < intArray.Length; i++)
{
if (intArray[i] < min)
{
min = intArray[i];
minIndex = i;
}
}
//②②②②②②②以上是利用遍历索引来逐个与设定的第一个数值比较大小,找出最小值和最小值的索引。②②②②②②②②
int temp = intArray[0];
intArray[0] = intArray[minIndex];
intArray[minIndex] = temp;//这三步用来将找出的最小值以索引形式来与第一个数值进行两个数值位置上的交换。
foreach(int t in intArray)//遍历数组中的每一个数值后并输出。
{
Console.Write(t + " ");
}
//③③③以上是将找出的最小值以索引的形式与原来设定的第一个数值交换索引,也就是在整数型数组中交换它俩的位置,最后用foreach遍历输出他们就OK。③③③
建议:看懂以后最好多次默写,这样可以锻炼逻辑思维和对程序的深度理解,熟练了再进下一步的学习。
哈哈,笨笨地写了一遍,年纪大了,记不住了。
string s = Console.ReadLine();
string[] a = s.Split(" ");
int[] num = new int[a.Length];
for(int i =0;i<s.Length; i++)
{
int b = Convert.ToInt32(a[i]);
num[i] = b;
}
int c = num[0];
int d = 0;
for(int i = 1; i < num.Length; i++)
{
if (num[i] < c)
{
c = num[i];
d = i;
}
}
int e = num[0];
num[0] = num[d];
num[d] = e;
foreach(int f in num)
{
Console.Write(f + " ");
}
变量=放数据的容器
1.声明变量
2.给变量赋值
变量类型决定内存给他分配的空间大小
显示斜杠引号的方法:
转义字符+斜杠/引号:\\ 和\"
static void Main(string[] args)
{
//区间内的真素数
bool isPrime = false;
string str = Console.ReadLine();
string[] num = str.Split(' ');
int mix = Convert.ToInt32(num[0]);
int max = Convert.ToInt32(num[1]);
for (int i = mix; i <= max; i++)
{
for (int j = 2; j < i; j++)
{
if (i % j == 0)
{
isPrime = false;
break;
}
//取反
//642 642%10 4,,24
int temp = i;
int number = 0;
while (temp % 10 != 0)
{
number = number * 10 + temp % 10;
temp = temp / 10;
}
for (int t = 2; t < number; t++)
{
if (number % t == 0)
{
isPrime = false;
break;
}
else
{
isPrime=true;
}
}
}
if (isPrime == true)
{
Console.WriteLine(i + "是真素数!");
}
}
}
\t 制表符=tab(有时等于4个字符)
\n 换行
随机数的生成Random
Random rd=new Random();(rd是类型)
rd.Next(n,m);(Next是方法,生成的是伪随机数)
continue和break都是用来中断循环的
continue表示终止当前循环,且后面的代码不执行,并继续下次循环
break是用来终止整个循环的
因数是可以把这个数整除的数,任何一个非1正整数都至少有两个因数1和它本身。
只有1和自身这两个因数的非1正整数称为质数(素数)
字符串中/n:换行 /t:制bian
第八十八课 编程题—可乐和字符串加密
1.
3个可乐瓶可以换一瓶可乐,现在有364瓶可乐,问一共可以喝多少瓶可乐,剩下几个空瓶子?
int i = 364;
int a = 364;
while (i >= 3)
{
a += i / 3;
i = ( i / 3 ) +( i % 3);
}
Console.Write("一共可以喝"+a+"瓶可乐"+" "+"剩下"+i+"个空瓶子");
2. 编写一个应用程序用来将输入的字符串进行加密,对于字母字符串加密规则如下:
'a'→'d' 'b'→'e' 'c'→'f'......'z'→'c'
Console.WriteLine("请输入密码");
string temp = Convert.ToString(Console.ReadLine());
foreach(int so in temp)
{
if (so >= 'a' && so <= 'z' || so >= 'A' && so <= 'Z')
{
int a = so + 3;
if (a >= 123 && a <= 125|| a >= 91 && a <= 93)
{
a = a - 26;
}
char b = Convert.ToChar(a);
Console.Write(b);
}
else
{
char c = Convert.ToChar(so);
Console.Write(c);
}
}
3. 字符串中的字符不可更改,但将字符串转为字符数组后即可更改。
ToCharArray();方法的作用是将字符串转为字符数组。
例:
string a = "Hello World";
char[] b = a.ToCharArray();
b[3] = 'p';
Console.WriteLine(b);
输出为:
Helop Worle
第八十七课 字符串操作Split
Split字符串分割:
例如:
string name = "xiaoming,zhangsan,xiaohong";
string[] strArray=name.Split(",");
foreach(string str in strArray)
{
Console.WriteLine(str);
}
输出结果为:
xiaoming
zhangsan
xiaohong
这个方法一定要一个相对应的变量数组来接收方法函数处理后的结果。
这里string name为原来字符串变量,string[] strArray为接收字符型数组变量。
name.Split(",") 表示用逗号来分割字符串,使之变为字符串数组中的一个个字符串值,说以后面接收的就应该为string[]类型。
第八十六课 字符串操作常用方法
1.倒序字符串中的字符。
string[] ge;
ge = new string[] { "rtingopead" ,"早上好","123654","数值","Hello"};
Console.WriteLine(ge.Length);
for(int i = ge.Length - 1; i >= 0; i--)
{
Console.Write(ge[i]+" ");
}
将索引倒序就Ok。
2. 方法(函数)
方法是系统提供给我们的。
方法可以通过一个字符串变量来直接调用。
格式:
string name = "Micheel";
name.methodName();
其中,name为变量名,methodName()为方法,methodName()的括号里为方法的参数。
3. 方法ToLower()与ToUpper():
ToLower() 将字符串中的字母变为小写字母。
ToUpper() 将字符串中的字母变为大写字母。
string name = "Micheal";
string str2 = name. ToLower();
Console.Write(name+"-"+str2);
输出为: Micheal-micheal
ToLower()与ToUpper()只会作用于字符串中的字母,不会影响其他字符。
这种方法不会对原有的字符串造成影响。
4. Trim()函数:
去除字符串两端的空格,而字符串中间的空格则保留。
TrimStart()函数:
去掉字符串前端的空格。
TrimEnd()函数:
去掉字符串后端的空格。
不能把字符串赋值给一个字符类型、
如果输出的是字符,想要它输出的也是字符,要用到强塞
例:char a = (char)Console.Read();
Read在读取单个字符的时候换行符也会被读取
Read要连续输入不能换行,回车是告诉控制台输出结束
代码Read有输入缓冲区,输入的数值要先经过控制台识别(包括回车,也就是换行符),再到输入缓冲区,最后给代码Read一一读取识别,而代码ReadLine是直接一次性读完
Hello World!!!!!!!!!!!!!!!!!!!!!!
第八十五课 字符串—字符数组
字符串数组与之前学的数字型字符串数组的区别是字符串数组不能对其中的每个值进行更改。
乘积循环时初始值要设置为1
convert.int32/16/64的区别在于取值范围不同
l'k'k'k'k'k'k'k