<C#任务导引教程>练习三
/*Convert.ToInt("213165");
int a=12345;
string sn=a.ToString();//把a转换成字符串sn
int b=int.Parse(sn);//把sn转换成整数b,结果b=a*/
using System;
class Program
{
static void Main()
{
short i = 289;
byte b;
b = (byte)i;//产生截断,即减去256,得到33,而 ! 的ASCII码就是33
char c = (char)b;
Console.WriteLine("{0}", c);
}
}
//14,用foreach语句输出字符串型数组
using System;
class Program
{
static void Main()
{
string[] WeekDays = new string[] { "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat" };
Console.WriteLine("该数组的长度为:{0}", WeekDays.Length);
Console.WriteLine("以下为数组内容:");
int i = 1;
foreach (string day in WeekDays)
Console.WriteLine("该值为数组的第{0}个值--{1}", i++, day);
}
}
//15,完成任务
using System;
class Program
{
static void Main()
{
int i;
int[] f = new int[20];
f[0] = 1;
f[1] = 1;
for (i = 2; i < f.Length; i++)
f[i] = f[i - 2] + f[i - 1];
for(i=0;i<f.Length;i++)
{
if (i % 5 == 0 && i > 0)
Console.WriteLine();
Console.Write("{0,8}", f[i]);
}
Console.WriteLine();
}
}
//16,有10位学生的成绩分别是,,,,试编写程序输出10个学生的成绩,找出其中的最高分极其在这批数中德位置
using System;
class Program
{
static void Main()
{
int[] scores = new int[11] { 0, 67, 34, 90, 88, 55, 74, 95, 82, 43, 90 };
int i, max, max_in;
max = scores[1];
max_in = 1;
for(i=2;i<scores.Length;i++)
{
if (scores[i] > max)
{
max = scores[i];
max_in = i;
}
Console.WriteLine("输出10个学生的成绩:");
for (i = 1; i < scores.Length; i++)
{
Console.Write("{0} ", scores[i]);
}
Console.WriteLine();
Console.WriteLine("最高分:{0}", max);
Console.WriteLine("第一个最高分的位置:{0}", max_in);
}
}
}
//17,用冒泡法和选择法分别将由键盘输入的十个整数拍成升序
using System;
class Program
{
static void Main()
{
int[] a = new int[] { 9, 8, 5, 6, 2, 0 };
int i, j, t;
for(i=0;i<6-1;i++)
for(j=0;j<6-1-i;j++)
if(a[j]>a[j+1])
{
t = a[j];
a[j] = a[j + 1];
a[j + 1] = t;
}
Console.WriteLine("排序的结果是:");
for (i = 0; i < 6; i++)
Console.Write("{0} ", a[i]);
Console.WriteLine();
}
}
//18,冒泡排序,手动输入
using System;
class Program
{
static void Main()
{
int[]a=new int[10];
int i,j,t;
Console.WriteLine("请输入十个整数:");
for (i = 0; i < 10; i++)
{
a[i] = Convert.ToInt32(Console.ReadLine());
}
Console.WriteLine();
for(i=0;i<10-1;i++)
for (j = 0; j < 10 - 1 - i; j++)
if(a[j]>a[j+1])
{
t = a[j];
a[j] = a[j + 1];
a[j + 1] = t;
}
for (i = 0; i < 10; i++)
{
Console.Write("{0} ", a[i]);
Console.WriteLine();
}
}
}
//19,选择法 将六个已知整数排成升序
using System;
class Program
{
static void Main()
{
int[ ] a = new int[ ] { 9, 8, 5, 6, 2, 0 };
int i, j, t;
for (i = 0; i < 6 - 1; i++)
for (j = i + 1; j < 6; j++)
if (a[i] > a[j])
{
t = a[i];
a[i] = a[j];
a[j] = t;
}
Console.WriteLine("排序的结果为:");
for(i=0; i<6; i++)
Console.Write("{0} ",a[i]);
Console.WriteLine();
}
}
//20,用选择法 对 十个键盘输入的数 排升序
using System;
class Program
{
static void Main()
{
int[] a = new int[10];
int i, j, t;
Console.WriteLine("请输入十个整数");
for (i = 0; i < 10; i++)
{
a[i] = Convert.ToInt32(Console.ReadLine());
}
Console.WriteLine();
for(i=0;i<10-1;i++)
for (j = i + 1; j < 10; j++)
if (a[i] > a[j])
{
t = a[i];
a[i] = a[j];
a[j] = t;
}
for (i = 0; i < 10; i++)
{
Console.Write("{0} ", a[i]);
}
Console.WriteLine();
}
}
//21,二维数组的声明
using System;
class Program
{
static void Main()
{
int [ , ]score=new int[3,5];
score = new int[,] { { 97, 87, 92, 78, 83 }, { 97, 87, 92, 78, 83 }, { 70, 65, 80, 91, 76 } };
Console.Write("课程1\t课程2\t课程3\t课程4\t课程5");
string str = " \n";
for(int i=0;i<score.GetLength(0);i++)
{
for (int j = 0; j < score.GetLength(1); j++)
{
str += " ";
str += score[i, j].ToString() + "\t";//制表
}
str += "\n";//换行
}
Console.WriteLine(str);
}
}
//22,用二维数组实现矩阵转置
using System;
class Program
{
static void Main()
{
int i, j, d;
int[,] data = new int[5,5];
for (i = 0; i < 5; i++)
for (j = 0; j < 5; j++)
data[i, j] = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("转置前的矩阵:");
for (i = 0; i < 5; i++)
{
for (j = 0; j < 5; j++)
Console.Write("{0,4 }", data[i, j]);
Console.WriteLine();
}
for(i=0;i<5-1;i++)
for (j = i + 1; j < 5; j++)//实现矩阵的转置
{
d = data[i, j];
data[i, j] = data[j, i];
data[j, i] = d;
}
Console.WriteLine("\n转置后的矩阵:");
for (i = 0; i < 5; i++)
{
for (j = 0; j < 5; j++)
Console.Write("{0,4}", data[i, j]);
Console.WriteLine();
}
}
}
//23,字符数组的输出
using System;
class Program{
static void Main(){
char[] c = new char[10] { 'I', ' ', 'a', 'm', ' ','a',' ', 'b', 'o', 'y' };
int i;
for (i = 0; i < 10; i++)
{
Console.Write("{0}", c[i]);
}
Console.WriteLine();
}
}
//24.二维字符数组输出
using System;
class Program
{
static void Main()//二维字符数组
{
char[ , ] d = new char[5, 5] { { ' ', ' ', '*', ' ', ' ' }, { ' ', '*', ' ', '*', ' ' }, { '*', ' ', ' ', ' ', '*' }, { ' ', '*', ' ', '*', ' ' }, { ' ', ' ', '*', ' ', ' ' } };
int i, j;
for (i = 0; i < 5; i++)
{
for (j = 0; j < 5; j++)
Console.Write("{0}", d[i, j]);
Console.WriteLine();
}
}
}
//25,创建一个控制台应用程序,使用string类声明一个字符串变量并进行初始化,然后获取该字符串中的某个字符
using System;
class Program
{
static void Main()
{
string str = "我钟爱C#!";
char ch1 = str[1];
char ch2 = str[2];
Console.WriteLine("字符串:{0}中德第2个字符是:{1}",str,ch1);
Console.WriteLine("字符串:{0}中的第3个字符是:{1}",str,ch2);
}
}
//26,创建一个控制台应用程序,声明两个string类型的变量str1和str2,然后使用Format方式格式化这两个string变量,最后输出格式化后的字符串
using System;
class Program
{
static void Main()
{
string str1= "努力学习C#!";
string str2 = "饱尝编程的愉悦";
string newstr = String.Format("{0},{1}!!!", str1, str2);
Console.WriteLine(newstr);
}
}