您的位置:首页 > 编程语言 > C#

C#第三课——循环语句

2017-10-27 13:51 169 查看

while

先判断条件在进行循环

do while

先循环在判断条件

using System;

namespace lesson3循环
{
class MainClass
{
public static void Main (string[] args)
{
//打印出1-100之间所有的偶数
int num=1;
while(num<=100){
if (num % 2 == 0) {
Console.WriteLine (num);
}
num++;

}

//打印1+2+3+...+100的值
int a=1;
int sum = 0;
while (a <= 100) {

sum += a;
a++;
}
Console.WriteLine (sum);

//编写程序实现功能,计算100至10000之间有多少个数其各位数字之和是7  列:241 ,2+4+1=7
int i = 100;
while(i<=10000){
if((i/1000+i/100%10+i/10%10+i%10)==7 &&i%2==0){
Console.WriteLine(i);
}
i++;
}

//找出1-100中数值既能被2整出并且各位数字之和是7的最小数
int x = 1;
while(x<=100){
if (x % 2 == 0 && x /10 + x % 10 == 7) {
Console.WriteLine (x);
break;
}
x++;
}

//用Wile循环和break实现,在终端循环输入数字一旦输入的数字小于0,停止输入
while(true){
int amount=Convert.ToInt32(Console.ReadLine());
if (amount < 0) {
break;
}
}

//用Continue关键字实现1-100之间不是3的倍数
int nub=0;
while (nub < 100) {
//如果碰到a为3的倍数我们就结束本次循环不打印a的倍数
nub++;
if (nub % 3 == 0) {
continue;
}
Console.WriteLine (nub);

}

//sum=1+2+3+...N;求Sum不超过10000的最大整数值和项值N
int sum = 0;
int n = 1;
do {
sun += n;
n++;
} while (sum <= 10000);
//多了一个sun+=n;n++;
n -= 1;
sum -= n;
Console.WriteLine ("sum=" + sum);
Console.WriteLine ("n=" + n);
}
}
}


**

for

**

for(循环变量初始化){

循环变量

}

//用for打印1~100之间不是7的倍数并且不包含7的数。
for(int fate=1;fate<=100;fate++){
/*方法1:
if (fate % 7 != 0 && fate / 10 != 7 && fate % 10 % 7 != 0) {
Console.WriteLine (fate);
}
*/
//方法2:
//Contains 包含
if(fate%7!=0 &&!fate.ToString().Contains("7")==false){
Console.WriteLine (fate);
}
}

//打印一行1,2,3,4,5
//第一个for循环代表行数
for (int y = 1; y < 4; y++) {
//第二个for循环代表列数
for (int x = 1; x < 6; x++) {
Console.Write(x);
if (x < 5) {
Console.Write (",");
}
}
Console.WriteLine ();
}

/* 打印
* 1
* 12
* 123
*/
//九九乘法表
for(int i=1;i<=9;i++){
for (int j = 1; j <= i; j++) {
Console.Write("{0}*{1}={2} ",i,j,i*j);
}
Console.WriteLine();
}
//用continue关键字实现打印1-100之间不是3的倍数
//如果各个位上的数字之和大于10 就结束循环
for(int i=1;i<101;i++){
if (i % 3 != 0) {
if(i/10+i%10>10){
break;
}
Console.WriteLine (i);
}


编程将所有“水仙花数”打印出来,并打印其总个数。“水仙花数”是一个 各个位立方之和等于该整数的三位数。

for (int i = 100; i < 1000; i++) {
//获取这个三位数百位,十位,个位的数字
//百位
int a = i / 100;
//十位
int b = i % 100 / 10;
//个位
int c = i % 100 % 10;
//各位数的三次方
//Math.Pow(*.num)
if(Math.Pow(a,3)+Math.Pow(b,3)+Math.Pow(c,3)==i){
Console.WriteLine(a+ b+ c);

}


已知abc+cba = 1333,其中a,b,c均为一位数,编程求出满足条件的a,b,c所有组合

for(int a=0;a<10;a++){
for (int b = 0; b < 10; b++) {
for(int c=0;c<10;c++){
if (101 * a + 20 * b + 101 * c == 1333) {
Console.WriteLine ("a:{0}\tb:{1}\tc:{2}", a, b, c);
}
}
}
}


判断一个数是否是质数. (只能被1和它本身整除的数是质数)

int x=Convert.ToInt32(Console.ReadLine());
bool a = true;
if (x==0&&x==1) {
Console.WriteLine ("{0}不是质数",x);

} else if (x == 2) {
Console.WriteLine ("{0}是质数",x);
}
else if (x > 2)
{
for (int i = 2; i < x; i++) {
if (x % i == 0) {
a = false;
break;
}
}
string b = a == true ? "是" : "不是";
Console.WriteLine ("{0}质数", b);
}


用while和for循环打印出1-100之间不是7的倍数并且不包含7数

for (int i = 1; i <= 100; i++) {
if (i % 7 != 0 && i % 10 != 7&&i/10!=7) {
Console.WriteLine (i);
}
}


输入两个数,求最大公约数和最小公倍数。(用两种方法:辗转相除法和普通方法)

int x = Convert.ToInt32 (Console.ReadLine());
int y = Convert.ToInt32 (Console.ReadLine ());
int i=0;
int u = 0;
for (i = x < y ? x : y; i > 0; i--)
{
if (y % i == 0 && x % i == 0)
{
break;
}
}
Console.WriteLine ("最大公约数是{0}", i);
for (u = x < y ? x : y; u < x * y; u++) {
if (u % x == 0 && u % y == 0) {
break;
}
}
Console.WriteLine("最小公倍数是{0}",u);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: