C语言03 -- 循环结构

//
// main.m
// C3-循环结构
//
// Created by dllo on 15/7/2.
// Copyright (c) 2015年 Gaozi. All rights reserved.
//

import

循环结构!

int i = 0;
while (i < 7) {
printf(“hello 大傻~!\n”);
//i 不要忘了自增!
i++;
}
练习1.
int i = 1;
while (i < 101) {
if (i % 7 == 0 ) {
printf(“%d\n”,i);
}
i++;
}
也可以这样写.
i = 7;
i += 7;

1-100 各位是7

int i = 1;
while (i < 101) {
if (7 == i / 10 ) {
printf(“%d\n”,i);
}
i++;
}
1-100 十位是7.
int i = 1;
while (i < 101) {
if (7 == i / 10) {
printf(“%d\n”,i);
}
i++;
}

打印1-100中不包含7的数字.

int i = 1;
while (i < 101) {
if (0 != i % 7 && 7 != i % 10 && 7 != i / 10) {
printf(“%d\n”,i);
}
i++;
}

1000多少天花完.

long moneyCount = 1000000000000000;
int day = 1;
while (0 != moneyCount / 2) { // moneyCount > 0
moneyCount = moneyCount / 2;
day++;
}
printf(“%d\n”,day);

200 - 300 要寻找 个 十 百 位数 相加得12 相乘42

int num = 200, digit = 1, tens = 1, three = 1;

while (200 <= num && num <= 300) {
digit = num % 10;
tens = (num % 100) / 10;
three = num /100;
if ((digit * tens * three == 42) && (digit + tens + three == 12) ) {
printf(“%d\n”,num);
}
num++;
}

随机数– 正负都不确定. 20-50 随机数.

arc4random() % (b - a + 1) + a
int a = arc4random() % 31 + 20;
printf(“%d\n”,a);
77 - 123
int i = 0;
while (i < 10) {
int a = arc4random() % (123 - 77 +1) + 77 ;
printf(“%d\n”,a);
i++;
}

// 10 个随机 产生的数字中找到最大的数!

int enternum = 0;
scanf(“%d”,&enternum);
int i = 0;
int max = 0;
int min = 123;
while ( i < enternum) {
int a = arc4random() % (123 - 77 + 1) + 77;
printf(“%d\n”,a);
if (max < a) {
max = a;
}
if (min > a){
min = a;
}
i++;
}
printf(“最小值%d\n”,min);
printf(“最大值%d\n”,max);

int i= 0;
while (i < 5) {
i++;
if (i == 3) {
continue;
}
printf(“%d\n”,i);//打印的结果是 0 1 2 .

}
//break 会终止整个循环,break后面的代码不会被执行.
//continue 会停止当前的循环,continue之后的代码也不会执行,但是还会继续执行接下来的循环操作,注意i++的位置. 打印的结果是1 2 4 5 .
 //若i++ 在printf后面的话,会打印出0 1 2 然后进入死循环.

int i = 0;
while (i < 100) {
i++;
if (i % 7 != 0) {
continue;
}
printf(“%d\n”,i);
}

//do - while循环

int i = 0;
do {
printf(“hello 大傻子!\n”);
i++;
}while (i > 5);

// 和while区别在于while循环先判断是否满足条件,do while则会先执行一次循环内容,在判断条件是否满足,即使条件为假,也会执行一次.

//for 循环.

//for (<#initialization#>; <#condition#>; <#increment#>) {
//<#statements#>
//}
//执行流程: 1-初始化
// for (int i = 0; i < 5; i++) {
// printf(“%d\n”,i);
// }

int i = 0;
while (i < 5) {
printf(“%d\n”,i);
i++;
}
for (int i = 1; i < 101; i++) {
if (i % 7 == 0) {
printf(“%d\n”,i);
}
}

for (int a = 1; a < 101; a++) {
if (a % 10 == 7) {
printf(“%d\n”,a);
}
}
for (int b = 1; b < 101; b++) {
if (b / 10 == 7) {
printf(“%d\n”,b);
}
}

for (int d = 1; d < 101; d++) {
if (d % 7 != 0 && d % 10 != 7 && d / 10 != 7) {
printf(“%d\n”,d);
}
}

// 循环嵌套

//先打印一行 1 2 3

for (int i = 0; i < 3; i++) {
printf(” 外部循环%d次开始\n”,i);
for (int j = 1; j < 4; j++) {
printf(” 内部循环%d开始\n”,j);
printf(“%d “,j);
printf(” 内部循环第%d结束\n”,j);
}
printf(” 内部循环第结束\n”);
printf(“\n”);
printf(” 外部循环第%d此结束\n”,i);
}

//外部循环控制有多少行,内部循环控制有多少列.
//外部循环执行一次,内部循环从头到尾执行一遍.

//乘法表

for (i = 0; i < 9; i++) {
for (int j = 1; j <= i + 1; j++) {
printf(“%d * %d = %d “,j,i+1,(i+1)*j );
}
printf(“\n”);
}
for (int i = 0; i < 9; i++) {
for (int j = 1; j <= i + 1; j++) {
printf(“%d * %d = %d “,j,i+1,(i+1)*j);
}
printf(“\n”);
}

for (int i = 1; i < 10; i++) {
for (int j = 1; j < i + 1; j++) {
printf(“%d * %d = %d “,j,i,j*i);
}
printf(“\n”);
}

// 打印000-999的组合可能(组成三位数)

for (int i = 0; i < 10; i++) {
for (int j = 0; j < 10 ; j++) {
for (int k = 0; k < 10; k++) {
printf(“%d%d%d “,i,j,k);
}
}
printf(“\n”);
}

int num13 = 0,num14 = 0,num15 = 0;
for (int k = 0; k < 10; k++) {
for (int i = 0; i < 10; i++) {
for (int j = 0; j < 10; j++) {
if ((k + i + j) == 13 ) {
num13++;
printf(“合为13的值是%d%d%d “,k,j,i);
}else if ((k + i + j) == 14){
num14++;
printf(“合为14的值是%d%d%d “,k,j,i);
}else if ((k + i + j) == 15){
num15++;
printf(“合为15的值是%d%d%d “,k,j,i);
}

            printf("\n");
    }
}
printf("合为13的有%d个,合为14的有%d个,合为15的有%d个\n",num13,num14,num15);

//每100个数分开一次.

//打印实心菱形

//上半个菱形
int n = 0;
// n是手动输入的行数
scanf(“%d”,&n);
for (int i = 1; i <= n; i++) {
//打印空格进行占位
for (int j = 0; j < n - i; j++) {
printf(” “);
}
//打印**
for (int k = 0; k < (2 * i -1); k++) {
printf(“*”);
}
printf(“\n”);
}
//下半个菱形
for (int i = 1; i < n; i++) {
// 打印空格进行占位
for (int j = 0; j < i; j++) {
printf(” “);
}
//打印**
for (int k = 0; k < 2*(n - i)-1; k++) {
printf(“*”);
}
printf(“\n”);
}
//找规律.!!!!!!!!

return 0;

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值