//while循环 //输出1——10 int i = 1; //定义一个变量来储存要输出的值 while (i <= 10) //i<=10决定了何时结束循环 { Console.WriteLine(i); //循环输出i i++; //改变i的值以达到退出循环的目的 } //输出1--5乘以10所得的乘法表。 int i = 1; //定义一个变量来储存被乘数的值 int result = 0; //定义一个变量来储存结果的值 while (i <= 5) //决定循环何时结束 { result = i * 10; //求出乘法的结果 Console.WriteLine("{0}*10={1}", i, result);//循环输出结果 i++; ////决定循环何时结束 } //死循环,该循环内没有决定循环何时结束的语句,所以无法退出循环 int i = 0; while (i < 1) { Console.WriteLine("爱情就像死循环,要谨慎"); Console.WriteLine("试试ctrl+c吧"); } //程序要求摄氏度0--250度,每隔20度为一项,输出摄氏温度与华氏温度的对照表,同时要求 //输出的条目不超过10条 int c = 0; int f = 0; //定义两个变量来分别储存摄氏温度和华氏温度的值 int cnt = 1; //定义一个变量来储存输出条目的值 while (cnt <= 10 && c <= 250)//决定循环何时结束 { f = c * 9 / 5 + 32; //换算; Console.WriteLine("{0}: {1}摄氏度 {2}华氏度", cnt, c, f);//循环输出 cnt++; //每循环一次,条目的值加1 c = c + 20; //每隔20度为一项 } //计算n+(n-1)+(n-2)+....+3+2+1的值,n为正整数 int n = Convert.ToInt32(Console.ReadLine()); int sum = 0; while (n >= 1) { sum += n; n--; } Console.WriteLine(sum); //猜数字 int num = 0; int cnt=0; do { num = Convert.ToInt32(Console.ReadLine()); if (num > 50) { Console.WriteLine("大了"); } if (num < 50) { Console.WriteLine("小了"); } cnt++; } while (num != 50); Console.WriteLine("你猜了{0}次就对了",cnt); //试试用while循环做 #region 用while的解法 int num =Convert.ToInt32( Console.ReadLine()); int cnt = 1; while (num != 50) { if (num > 50) { Console.WriteLine("大了"); } if (num < 50) { Console.WriteLine("小了"); } num = Convert.ToInt32(Console.ReadLine()); cnt++; } Console.WriteLine("你猜了{0}次就对了", cnt); #endregion //while 的用法 int num = int.Parse(Console.ReadLine()); int count1 = 0; int count2 = 0; while (num != 0) { if (num > 0) { count1++; } else { count2++; } num = int.Parse(Console.ReadLine()); } Console.WriteLine("记述结束"); Console.WriteLine("正数有{0}个",count1); Console.WriteLine("负数有{0}个", count2); do while 的用法 int num ; int count1 = 0; int count2 = 0; do { num = int.Parse(Console.ReadLine()); if (num > 0) { count1++; } if (num<0) { count2++; } } while (num != 0) ; Console.WriteLine("记述结束"); Console.WriteLine("正数有{0}个", count1); Console.WriteLine("负数有{0}个", count2); 1+2+......+100 int sum = 0; for (int i = 1; i <= 100; i++) { sum += i; } Console.WriteLine(sum); //for 循环的简写 int i = 1; int sum = 0; for (; ; ) { if (i <= 100) { sum += i; } else { break; } i++; } Console.WriteLine(sum); int i; for ( i = 100; i >0; i--) { if (i % 3 == 0) { break; } } Console.WriteLine(i); //重点 int num = Convert.ToInt32(Console.ReadLine()); int k; int m; for (k = 2; k <= num - 1; k++) { m = num % k; if (m == 0) { break; } } if (num == k) { Console.WriteLine("素数"); } else { Console.WriteLine("非素数"); } for (int i = 1; i <= 10; i++) { if (i % 2 == 0) { continue; } Console.WriteLine(i); } for (int i = 1; i <= 9; i++) { for (int j = 1; j <= i; j++) { Console.Write("{0}*{1}={2}\t", j, i, j * i); } Console.WriteLine(); } int i; for (i = 1; i < 100; i++) { if (i % 3 == 0 && i % 5 != 0) { Console.WriteLine(i); } } //用三种循环写1到100的和 //第一种方法 int i = 1, sum = 0; while (i <= 100) { sum += i; i++; } Console.WriteLine(sum); //第2种方法 int num = 1; int sum = 0; bb: if (num <= 100) { sum += num; num++; goto bb; } Console.WriteLine(sum); //第3种方法 int num = 1; int sum = 0; do { sum += num; num++; } while (num <= 100); Console.WriteLine(sum); //第4种方法 int sum = 0; for (int i = 1; i <= 100; i++) { sum += i; } Console.WriteLine(sum); //求1到10的倒数和 #region double sum = 0; for (double i = 1; i <= 10; i++) { sum = sum + 1 / i; } Console.WriteLine(sum); #endregion //求1到50的平方和 #region 第1种方法 int sum = 0; for (int i = 1; i <= 50; i++) { sum = sum + i * i; } Console.WriteLine(sum); 第2种方法 int sum = 0; for (int i = 1; i <= 50; i++) { sum += (int) Math.Pow(i, 2); } Console.WriteLine(sum); #endregion //接受用户输入的正整数,然后显示从0到该数为止所表示的字符。 #region int i = Convert.ToInt32(Console.ReadLine()); for (int j = 0; j <=i; j++) { Console.WriteLine((char)j); } #endregion //编写九九乘法表并倒序输出 #region for(int i=9;i>=1;i--) { for (int j = 1; j <= i; j++) { Console.Write("{0}*{1}={2}\t ", j, i, i * j); } Console.WriteLine(); } //编写九九乘法表并顺序输出 for (int i = 1; i <= 9; i++) { for (int j = 1; j <= i; j++) { Console.Write("{0}*{1}={2}\t", j, i, j * i); } Console.WriteLine(); } #endregion //打印平行四边形 // ************** // ************** // ************** // ************** //************** //第1种方法: Console.WriteLine(" **************"); Console.WriteLine(" **************"); Console.WriteLine(" **************"); Console.WriteLine(" **************"); Console.WriteLine("**************"); #region //第2种方法: for (int i = 1; i <= 5; i++) { for (int j = 4; j >= i; j--) { Console.Write(" "); } for (int j = 1; j <= 14; j++) { Console.Write("*"); } Console.WriteLine(); } #endregion //打印等腰三角形 // * // *** // ***** //******* #region for (int i = 1; i <= 4; i++) { for (int j = 1; j <= 4 - i; j++) { Console.Write(" "); } for (int j = 1; j <= 2 * i - 1; j++) { Console.Write("*"); } Console.WriteLine(); } #endregion //打印倒等腰三角形 //******* // ***** // *** // * #region for (int i = 4; i >= 1; i--) { for (int j = 1; j <= 4 - i; j++) { Console.Write(" "); } for (int j = 1; j <= 2 * i - 1; j++) { Console.Write("*"); } Console.WriteLine(); } #endregion //求1-3+5-7+...-95+97-99 #region //解法1 int sum1 = 0; int sum2 = 0; int i = 1; int j = -3; while (i >= 1 && i <= 97) { sum1 = sum1 + i; i = i + 4; } while (j <= -3 && j >= -99) { sum2 = sum2 + j; j = j - 4; } Console.WriteLine(sum1 + sum2); //解法2 int sum = 0; int sign = 1; for (int i = 1; i <= 99; i = i + 2) { sum = sum + sign * i; sign = -sign; } Console.WriteLine(sum); #endregion //小猴子摘了一堆桃,第一天吃了一半,还嫌不过瘾,又多吃了一个; //第二天又将剩下的桃子吃了一半加一个;以后天天如此, //到第十天,小猴一看,只剩一个桃子了。问最初有多少个桃子。 #region int sum = 0; for (int i = 10; i >= 1; i--) { if (i == 10) { sum = 1; } else { sum = (sum + 1) * 2; } } Console.WriteLine(sum); #endregion //某人有100元,欲买100只鸡,公鸡5元一只,母鸡3元一只,小鸡一元3只, //可买到公鸡、母鸡、小鸡各多少只? #region int g, m, x; for (g = 0; g <= 20; g++) { for (m = 0; m <= 33; m++) { x = 100 - g - m; if (g * 5 + m * 3 + x / 3 == 100 && x % 3 == 0) { Console.WriteLine("公:{0}只 母:{1}只 小:{2}只", g, m, x); } } } #endregion //有一个数列,前两个数是1,1,第三个数是前两个数之和, //以后的每个数都是前两个数之和,要求输出此数列的前40个数。 #region int num1 = 1, num2 = 1; for (int i = 1; i <= 10; i++) { if (i == 1 || i == 2) { Console.WriteLine(num1); } else { num1 = num1 + num2; Console.WriteLine(num1); int t; t = num1; num1 = num2; num2 = t; } } #endregion //求2/1,3/2,5/3,8/5,13/8,21/13...的前20项的和(32.66026) #region double zi = 2; double mu = 1; double sum = 0; for (int k = 1; k <= 20; k++) { if (k == 1) { sum = zi / mu; } else { zi = zi + mu; mu = zi - mu; sum += zi / mu; } } Console.WriteLine(sum); #endregion //打印“水仙花数”,所谓“水仙花数”是指一个三位数, //其各位数字立方和等于该数本身。例如153 #region //解法1 for (int i = 100; i <= 999; i++) { int ge = i % 10; int shi = i / 10 % 10; int bai = i / 100; if (Math.Pow(ge, 3) + Math.Pow(shi, 3) + Math.Pow(bai, 3) != i) { continue; } Console.WriteLine(i); } //解法2 for (int i=1;i<=9;i++) { for (int j=0;j<=9;i++) { for (int k=0;k<=9;k++) { if (i*i*i+j*j*j+k*k*k==i*100+j*10+k) { Console.WriteLine(i*100+j*10+k); } } } } #endregion //有A、B、C、D4个一位非负整数,他们符合(ABCD-CDC=ABC)下面的算式,请找出A\B\C\D的值(1,0,9,8) // ABCD // -CDC //------- // ABC #region for (int a = 0; a <= 9; a++) { for (int b = 0; b <= 9; b++) { for (int c = 0; c <= 9; c++) { for (int d = 0; d <= 9; d++) { if (a * 1000 + b * 100 + c * 10 + d - (c * 100 + d * 10 + c) == a * 100 + b * 10 + c && (a != 0 || b != 0 || c != 0 || d != 0)) { Console.WriteLine("{0}{1}{2}{3}", a, b, c, d); } } } } } #endregion
文章类型: | JAVA |
关键词: | C#,C,Sharp,Java,java,编程逻辑,训练题,if,switch,while,for,参考答案 |
内容摘要: | 主要训练编程初学者的编程逻辑,通过一系列的练习题建立初级程序员对编程逻辑的掌握。针对上一篇的训练题提供答案 |
Java、C#编程逻辑训练题(见上一篇)的参考答案
2015/7/22 16:34:31 来源:apple 阅读: