看了平时写的一些东西 做的一些例子 让电脑按照你的意图去显示一些东西 你会发现 “原来编程真的很有意思的”
1
using
System;
2 using System.Collections.Generic;
3 using System.Linq;
4 using System.Text;
5 using System.Data;
6 using System.Data.SqlClient;
7 using System.IO;
8
9 namespace studyDemo
10 {
11 class Program
12 {
13 static void Main( string [] args)
14 {
15
16 // recursion(1, 0);
17 // sortDemo();
18 // commonMultiple(13, 4);
19
20 // getDir(new DirectoryInfo(@"c:\"),0);
21 // numToString(757657578);
22
23 // string str = "hello world!!";
24 // foreach (char c in str)
25 // Console.WriteLine(c);
26 }
27
28 static void numToString( int num) // 把整型转换成字符串
29 {
30 char [] str = { ' ' , ' ' , ' ' , ' ' , ' ' , ' ' , ' ' , ' ' , ' ' };
31 int indx = 0 ;
32
33 while (num > 0 )
34 {
35 int tmpNum = num % 10 ;
36 char tmpChar;
37 switch (tmpNum)
38 {
39 case 1 :
40 tmpChar = ' ① ' ;
41 break ;
42 case 2 :
43 tmpChar = ' ② ' ;
44 break ;
45 case 3 :
46 tmpChar = ' ③ ' ;
47 break ;
48 case 4 :
49 tmpChar = ' ④ ' ;
50 break ;
51 case 5 :
52 tmpChar = ' ⑤ ' ;
53 break ;
54 case 6 :
55 tmpChar = ' ⑥ ' ;
56 break ;
57 case 7 :
58 tmpChar = ' ⑦ ' ;
59 break ;
60 case 8 :
61 tmpChar = ' ⑧ ' ;
62 break ;
63 case 9 :
64 tmpChar = ' ⑨ ' ;
65 break ;
66 default :
67 tmpChar = ' 〇 ' ;
68 break ;
69 }
70 if (indx < str.Length)
71 str[str.Length - indx - 1 ] = tmpChar;
72 indx ++ ;
73
74 num /= 10 ;
75 }
76
77 Console.WriteLine( new string (str).Trim());
78 }
79
80 static void commonMultiple( int num1, int num2) // 求最小公倍数 的算法
81 {
82 int comNum = 0 ;
83 int tmp = - 1 ;
84 if (num1 > num2)
85 {
86 tmp = num1;
87 num1 = num2;
88 num2 = tmp;
89 }
90
91 for ( int i = num2; i <= num1 * num2; i ++ )
92 {
93 if (i % num1 == 0 && i % num2 == 0 )
94 {
95 comNum = i;
96 break ;
97 }
98 }
99 if (tmp == - 1 )
100 Console.WriteLine( " {0}跟{1}的最小公倍数是:{2} " , num1, num2, comNum);
101 else
102 Console.WriteLine( " {0}跟{1}的最小公倍数是:{2} " ,num2 ,num1 , comNum);
103 }
104
105 static void sortDemo() // 排序算法
106 {
107 int [] arr = { 4 , 5 , 3 , 678 , 12 , 78 , 90 , 1 };
108
109 for ( int i = 0 ; i < arr.Length; i ++ )
110 {
111 for ( int j = 0 ; j < arr.Length - 1 ; j ++ )
112 {
113 if (arr[j + 1 ] > arr[j])
114 {
115 int tmp;
116 tmp = arr[j];
117 arr[j] = arr[j + 1 ];
118 arr[j + 1 ] = tmp;
119 }
120 }
121 }
122
123 foreach ( int n in arr)
124 {
125 Console.WriteLine(n);
126 }
127 }
128
129 static void getDir(DirectoryInfo dir, int level) // 递归算法 遍历目录
130 {
131 foreach (DirectoryInfo d in dir.GetDirectories())
132 {
133 for ( int i = 0 ; i < level; i ++ )
134 Console.Write( " " );
135 Console.WriteLine(d.Name);
136 getDir(d, level + 1 );
137 }
138 }
139
140 static void recursion( int node, int level) // 递归算法 树状图
141 {
142 // 数据库里表的结构:
143 /*
144 * create table tree
145 * (
146 * id int primary key identity (1,1) ,
147 * nm varchar(20),
148 * pId int
149 * )
150 * id主键自增列 nm名称 pId父ID(从属于)
151 */
152 string sql = " select * from tree where pid=@1 " ;
153 SqlConnection conn = new SqlConnection( @" server=.\sqlexpress;database=tempdb;Integrated Security=true " );
154 conn.Open();
155
156 SqlCommand cmd = new SqlCommand(sql, conn);
157 cmd.Parameters.Add( new SqlParameter( " @1 " , node));
158
159 SqlDataReader dr = cmd.ExecuteReader();
160
161 while (dr.Read())
162 {
163 for ( int i = 0 ; i <= level; i ++ )
164 Console.Write( " --- " );
165 Console.WriteLine(dr[ " nm " ]);
166 int id = dr.GetInt32( 0 );
167
168 SqlConnection conn2 = new SqlConnection( @" server=.\sqlexpress;database=tempdb;Integrated Security=true " );
169 conn2.Open();
170 SqlCommand cmd2 = new SqlCommand( " select count(*) from tree where pid=@1 " , conn2);
171 cmd2.Parameters.Add( new SqlParameter( " @1 " , id));
172 object hasChild = cmd2.ExecuteScalar();
173 if (Convert.ToInt32(hasChild) != 0 )
174 recursion(id, level + 1 );
175
176 conn2.Close();
177 }
178
179 dr.Close();
180 conn.Close();
181 }
182 }
183 }
184
2 using System.Collections.Generic;
3 using System.Linq;
4 using System.Text;
5 using System.Data;
6 using System.Data.SqlClient;
7 using System.IO;
8
9 namespace studyDemo
10 {
11 class Program
12 {
13 static void Main( string [] args)
14 {
15
16 // recursion(1, 0);
17 // sortDemo();
18 // commonMultiple(13, 4);
19
20 // getDir(new DirectoryInfo(@"c:\"),0);
21 // numToString(757657578);
22
23 // string str = "hello world!!";
24 // foreach (char c in str)
25 // Console.WriteLine(c);
26 }
27
28 static void numToString( int num) // 把整型转换成字符串
29 {
30 char [] str = { ' ' , ' ' , ' ' , ' ' , ' ' , ' ' , ' ' , ' ' , ' ' };
31 int indx = 0 ;
32
33 while (num > 0 )
34 {
35 int tmpNum = num % 10 ;
36 char tmpChar;
37 switch (tmpNum)
38 {
39 case 1 :
40 tmpChar = ' ① ' ;
41 break ;
42 case 2 :
43 tmpChar = ' ② ' ;
44 break ;
45 case 3 :
46 tmpChar = ' ③ ' ;
47 break ;
48 case 4 :
49 tmpChar = ' ④ ' ;
50 break ;
51 case 5 :
52 tmpChar = ' ⑤ ' ;
53 break ;
54 case 6 :
55 tmpChar = ' ⑥ ' ;
56 break ;
57 case 7 :
58 tmpChar = ' ⑦ ' ;
59 break ;
60 case 8 :
61 tmpChar = ' ⑧ ' ;
62 break ;
63 case 9 :
64 tmpChar = ' ⑨ ' ;
65 break ;
66 default :
67 tmpChar = ' 〇 ' ;
68 break ;
69 }
70 if (indx < str.Length)
71 str[str.Length - indx - 1 ] = tmpChar;
72 indx ++ ;
73
74 num /= 10 ;
75 }
76
77 Console.WriteLine( new string (str).Trim());
78 }
79
80 static void commonMultiple( int num1, int num2) // 求最小公倍数 的算法
81 {
82 int comNum = 0 ;
83 int tmp = - 1 ;
84 if (num1 > num2)
85 {
86 tmp = num1;
87 num1 = num2;
88 num2 = tmp;
89 }
90
91 for ( int i = num2; i <= num1 * num2; i ++ )
92 {
93 if (i % num1 == 0 && i % num2 == 0 )
94 {
95 comNum = i;
96 break ;
97 }
98 }
99 if (tmp == - 1 )
100 Console.WriteLine( " {0}跟{1}的最小公倍数是:{2} " , num1, num2, comNum);
101 else
102 Console.WriteLine( " {0}跟{1}的最小公倍数是:{2} " ,num2 ,num1 , comNum);
103 }
104
105 static void sortDemo() // 排序算法
106 {
107 int [] arr = { 4 , 5 , 3 , 678 , 12 , 78 , 90 , 1 };
108
109 for ( int i = 0 ; i < arr.Length; i ++ )
110 {
111 for ( int j = 0 ; j < arr.Length - 1 ; j ++ )
112 {
113 if (arr[j + 1 ] > arr[j])
114 {
115 int tmp;
116 tmp = arr[j];
117 arr[j] = arr[j + 1 ];
118 arr[j + 1 ] = tmp;
119 }
120 }
121 }
122
123 foreach ( int n in arr)
124 {
125 Console.WriteLine(n);
126 }
127 }
128
129 static void getDir(DirectoryInfo dir, int level) // 递归算法 遍历目录
130 {
131 foreach (DirectoryInfo d in dir.GetDirectories())
132 {
133 for ( int i = 0 ; i < level; i ++ )
134 Console.Write( " " );
135 Console.WriteLine(d.Name);
136 getDir(d, level + 1 );
137 }
138 }
139
140 static void recursion( int node, int level) // 递归算法 树状图
141 {
142 // 数据库里表的结构:
143 /*
144 * create table tree
145 * (
146 * id int primary key identity (1,1) ,
147 * nm varchar(20),
148 * pId int
149 * )
150 * id主键自增列 nm名称 pId父ID(从属于)
151 */
152 string sql = " select * from tree where pid=@1 " ;
153 SqlConnection conn = new SqlConnection( @" server=.\sqlexpress;database=tempdb;Integrated Security=true " );
154 conn.Open();
155
156 SqlCommand cmd = new SqlCommand(sql, conn);
157 cmd.Parameters.Add( new SqlParameter( " @1 " , node));
158
159 SqlDataReader dr = cmd.ExecuteReader();
160
161 while (dr.Read())
162 {
163 for ( int i = 0 ; i <= level; i ++ )
164 Console.Write( " --- " );
165 Console.WriteLine(dr[ " nm " ]);
166 int id = dr.GetInt32( 0 );
167
168 SqlConnection conn2 = new SqlConnection( @" server=.\sqlexpress;database=tempdb;Integrated Security=true " );
169 conn2.Open();
170 SqlCommand cmd2 = new SqlCommand( " select count(*) from tree where pid=@1 " , conn2);
171 cmd2.Parameters.Add( new SqlParameter( " @1 " , id));
172 object hasChild = cmd2.ExecuteScalar();
173 if (Convert.ToInt32(hasChild) != 0 )
174 recursion(id, level + 1 );
175
176 conn2.Close();
177 }
178
179 dr.Close();
180 conn.Close();
181 }
182 }
183 }
184