//
// main.m
// C3_循环结构
//
// Created by dllo on 15/7/2.
// Copyright (c) 2015年 Clare. All rights reserved.
//
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[]) {
//
// int year = 0, month = 0, day = 0;
// scanf("%d%d%d", &year, &month, &day);
//
// int age = 2015 - year;
// printf("周岁是:%d\n", age);
//
// switch (month) {
// case 1:
// if (day >= 20 && day <=31) {
// printf("水瓶座\n");
// } else if ( day > 0 && day < 20){
// printf("摩羯座\n");
// } else {
// printf("输入日期有误\n");
// }
// break;
// /*.
// .
// .
// .
// .
// */
// default:
// break;
// }
//
//
// 输入年月日,判断输入的日期是当年的第几天
// int year = 0, month = 0, day = 0, date = 0;
// scanf("%d%d%d", &year, &month, &day);
//
// switch (month) {
// case 1:
// date = day;
// printf("这是今年的第%d天\n", date);
// break;
// case 2:
// date = day + 31;
// printf("这是今年的第%d天\n", date);
// break;
// case 3:
// date = day + 31 + 28;
// printf("这是今年的第%d天\n", date);
// break;
// case 4:
// date = day + 31 + 28 + 31;
// printf("这是今年的第%d天\n", date);
// break;
// case 5:
// date = day + 31 +28 +31 +30;
// printf("这是今年的第%d天\n", date);
// break;
//
// default:
// break;
//
//
//
// switch (month - 1) {
// case 11: // 对应的是第12个月
// day += 30;
// case 10:
// day += 31;
// case 9:
// day += 30;
// case 8:
// day += 31;
// case 7:
// day += 31;
// case 6:
// day += 30;
// case 5:
// day += 31;
// case 4:
// day += 30;
// case 3:
// day += 31;
// case 2:
// day += 28;
// case 1:
// day += 31;
// //switch中如果没有break程序将继续往下执行直到结束或出现break时
// //只有过了三月份,才需要判断是否是闰年
// if (month >= 3) {
// }
//
// }
//
//
//
// printf("hello lanou\n");
//
//
// int i = 0;
// while (i < 7) {
// printf("hello lanou \n");
// // 不要忘记i++,如果i++没有,则i=0一直成立,程序将无限循环
// i++;
// }
// // i可以从任意数开始但循环一般从0开始,是为了配合数组使用.并且从0开始能直接从判断条件中看出程序循环了几次.
//
//
// 用while打印出1~100之间7的倍数。
// int i = 1;
// while (i < 101) {
// if (0 == i % 7) {
// printf("%d\n", i);
// i++;
// } else {
// i++;
// }
// }
//
//
// int i = 1;
// while ( i < 101) {
// if (0 == i % 7) {
// printf("%d\n",i);
// }
// i++;
// }
//
//
// int i = 7;
// while (i < 101) {
// printf("%d\n", i);
// i += 7;
// }
//
//
// 1-100 个位数是7的数字
// int i = 1;
// while (i < 101) {
// if ( 7 == i % 10 ) {
// printf("%d\n", i);
// }
// i++;
// }
// 写变量名时最好不用缩写
//
// 用while打印出1~100之间十位为7的数。
// int i = 1;
// while (i < 101) {
// if (7 == i / 10 ){
// printf("%d\n", i);
// }
// i++;
// }
//
// 用while打印出1~100之间不是7的倍数并且不包含7的数。
//
// int i = 0;
// while (i < 101) {
// if ((0 != i %7) && (7 != i % 10) && (7 != i / 10)) {
// printf("%d\n", i);
// }
// i++;
// }
//
// int i = 0;
// while (i < 101) {
// if (0 != i % 7 && 7 != i / 10 && 7 != i % 10){
// printf("%d\n", i);
// }
// i++;
// }
//
//
// //循环次数
// int i = 100000000, j = 0;
// while (i / 2 != 0) {
// i = i / 2;
// j++;
//
// }
// printf("%d\n", j);
//
//
// // 1千万多少天花完
// int moneyCount = 10000000;
// int day = 0;
// while (moneyCount > 0) {
// moneyCount /= 2;
// day++;
// }
// printf("%d\n", day);
//
//
// 200 - 300 各位十位百位相加为12 相乘为42的数有那几个
// int i= 200, a = 0, b = 0;
//
// while (i <301) {
// a = i % 10 + ( i % 100) / 10 + i / 100;
// b = (i % 10) * (( i % 100) / 10) * (i / 100);
// if ((12 == a ) && (42 == b)) {
// printf("%d\n", i);
// }
// i++;
// }
//
// int i = 200;
// while (i < 301) {
// int bai = i / 100;
// int shi = i / 10 % 10;
// int ge = i % 10;
// if (12 == bai + shi + ge && 42 == bai * shi * ge) {
// printf("%d\n", i);
// }
// i++;
// }
//
//
// // 随机数 0 - 40(只用对41取余)即,对想要0 - x的随机数只用对x + 1 取余
// // arc4random % (b - a + 1) + a
// int a = arc4random() % 41;
// printf("%d\n", a);
//
// // 获取 77 - 123 范围的随机数
// int a = arc4random() % (123 - 77 + 1 ) + 77;
// printf("%d\n",a);
//
//
// 用户从控制台输⼊一个n,用while打印n个随机数(范围为30~70), 找出n个随机数中的最⼤大值
// 获取10个随机数
// int n = 0;
// while (n < 11) {
// int a = arc4random() % ( 123 - 77 + 1) + 77;
// printf("%d\n", a);
// n++;
// }
//
//
// // 用户从控制台输入一个n,用while打印n个随机数(范围为10~30)
// // 输入想要得到的随机数个数得到相应的n个随机数
// int enterNum = 0;
// scanf("%d" , &enterNum);
// // 用户从控制台输⼊入⼀一个n,⽤用while打印n个随机数(范围为77~123), 找出n个随机数中的最⼤大值
// // 找到随机数中的最大的数
// int i = 0;
// int max =0;
// while (i < enterNum) {
// int a = arc4random() % ( 123 - 77 + 1) + 77;
// printf("%d\n", a);
// if (max < a ) {
// max = a;
// }
// i++;
// }
// printf("max=%d\n",max);
//
// 找到随机数中的最小值
// int i = 0;
// int min = 123;
// while (i < enterNum) {
// int a = arc4random() % ( 123 - 77 + 1) + 77;
// printf("%d\n", a);
// if (min > a ) {
// min = a;
// }
// i++;
// }
// printf("max=%d\n",min);
// //找最小值时的初值最好不要是0,不然最小值一般都是0
//
//
//
// // break
// int i = 0;
// while (i < 5 ) {
// if (i == 3) {
// break;
// }
// printf("%d\n", i);
// i++;
// }
//
// // break会终止整个循环,break后面的代码不会被执行
//
// int i = 0;
// while (i < 5) {
// i++;
// if (i == 3) {
// continue;
// }
// printf("%d\n", i);
// // i++; i++再此处会出现死循环
// }
//
// // continue会停止当前这次循环,continue之后的代码也不会执行,但是还会继续执行接下来的循环操作,但是要注意i++的位置
//
//
// // ⽤continue打印出1~100之间7的倍数
// int i = 0;
// while (i < 100) {
// i++;
// if (0 != i % 7) {
// continue;
// }
// printf("%d\n",i);
// }
//
//
// // do - while 循环,先执行后判断
// int i = 0;
// do {
// printf("hello lanou\n");
// i++;
// } while (i > 5);
//
//
// // 和while的区别在于while循环先判断是否满足条件,do while则会先执行一次循环内容,再判断条件是否满足,即使条件为假,也会执行一次
//
//
// // for 循环
//
// for (int i = 0; i < 5; i++) {
// printf("%d\n",i);
// }
//
// // int i = 0;
// // while (i < 5 ) {
// // printf("%d\n", i );
// // i++;
// // }
//
//
//
// //⽤for打印出1~100之间7的倍数。
// for (int i = 0 ; i < 101; i++) {
// if (0 == i % 7) {
// printf("%d\n",i);
// }
// }
// //用for打印出1~100之间个位为7的数。
// for (int i = 0; i < 101; i++) {
// if (7 == i % 10) {
// printf("%d\n",i);
// }
// }
// //用for打印出1~100之间十位为7的数。
//
// for (int i = 0; i < 101 ; i++) {
// if (7 == i / 10 ) {
// printf("%d\n",i);
// }
// }
// //用for打印出1~100之间不是7的倍数并且不包含7的数
//
// for (int i = 0; i < 101; i++) {
// if (0 != i % 7 && 7 != i % 10 && 7 != i/10) {
// printf("%d\n",i);
// }
// }
//
//
//
// // 先打印一行1 2 3
// for (int i = 1; i < 4; i++) {
// printf(" %d",i);
// }
// printf("\n");
//
// 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",i);
// printf("\n");
// printf(" 外部循环%d次结束\n",i);
// }
//
// 外部的循环控制有多少行,内部的循环控制有多少列
// 外部循环执行1次,内部循环都会从头到尾运行一遍
//
// // 打印3行1 2 3
// for (int i = 0; i < 3; i++) {
// for (int j = 1; j <4 ; j++) {
// printf("%d",j);
// }
// printf("\n");
// }
//
// /* 打印下面内容
// 1
// 12
// 123
// */
//
// for (int i = 0; i < 3; i++) {
// for (int j = 1; j <= i + 1; j++) {
// printf("%d",j);
// }
// printf("\n");
// }
//
// for (int i = 1; i <= 3; i++) {
// for (int j = 1; j <= i; j++) {
// printf(" %d \n",j);
// }
// printf("\n");
// }
//
//
//
// //实现乘法⼝口诀表
// int k = 0;
// for (int i = 1; i <= 9; i++) {
// for (int j = 1 ; j <= 9; j++) {
// if (j <= i) {
// printf("%d*%d=%d ", i, j, k = i * j);
// }
//
// }
// printf("\n");
// }
//
// for (int i = 0; i < 10; i++) {
// for (int j = 1; j <= i; j++) {
// printf("%d*%d=%d ", j, i, j * i);
// }
// printf("\n");
// }
//
//
//
// // 打印三个数字(0 - 9)的组合可能(组合成三位数)其中数字不能重复出现。
// // 000 -999
// int a = 0;
// for (int i = 1; i < 10; i++) {
// for (int j = 0; j < 10; j++) {
// for (int k = 0; k < 10 ; k++) {
// if (i != j && i != k && j != k) {
// a = 100 * i + 10 * j + k;
// printf("%d\n",a);
// }
// }
// }
// }
// // 000 -999
// int a = 0;
// for (int i = 0; i < 10; i++) {
// for (int j = 0; j < 10; j++) {
// for (int k = 0; k < 10 ; k++) {
// //if (i != j && i != k && j != k) {
// a = 100 * i + 10 * j + k;
// printf("%d\n",a);
// // }
// }
// }
// }
//
// // 打印 000 - 999,求其中某个数字的和值在整个范围内出现多少次
// int num13 = 0, num14 = 0, num15 = 0;
// 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);
// if (13 == i + j + k) {
// num13++;
// } else if (14 == i+ j + k){
// num14++;
// } else if (15 == i+ j + k){
// num15++;
// }
//
// }
// printf("\n");
// }
// printf("\n");
// }
// printf(" %d, %d, %d\n",num13, num14, num15);
//
// // 输入一个和值,求出该和值在 000 - 999的范围内出先过几次
// printf("请输入你所要查询的和值:");
// int enterNum = 0;
// int chackNum = 0;
// scanf("%d", &chackNum);
// 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);
// if (chackNum == i + j + k) {
// enterNum++;
// }
// }
// printf("\n");
// }
// printf("\n");
// }
// printf(" %d\n",enterNum);
//
//
// // 打印实心菱形
// 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");
// }
//
// int n = 0;
// // n 为手动输入的行数
// scanf("%d", &n);
//
// //上半空心菱形
// for( int i = 1;i <= n;i++){ //控制行数 10行
// for(int k = n; k > i; k--){ //第一行 9空格1* i=2 8空格 2*
// printf(" ");
// }
// //当i=1时 由第25行代码输出*
// if(i == 1){}
// else{
// printf(" *");
// }
// //空心空格个数打印 0 2 4 6 16个
// for(int j = 1;j < 2 * i - 2; j++){
// printf(" ");
// }
// printf(" *");
// printf("\n");
// }
// //下空心菱形
// for(int i = 1; i <= n-1; i++){ //去掉最长行 只有9行
// //空格增多 1 2 3...9
// for(int k = 1; k <= i; k++){
// printf(" ");
// }
// //最后一行*号由代码43行执行
// if(i == n-1){}
// else{
// printf(" *");
// }
// //空心空格个数打印 15 13 ....1 注意空格是15开始 1结束
// for(int j = 1; j <= 2 * n - 3 - 2 * i; j++){ //i=9时候 打印0个空格
// printf(" ");
// }
// printf(" *"); //打印每行后出现的*
// printf("\n"); //换行
//
// }
//
return 0;
}