学习小结
c语言循环学习笔记汇总
//第一章
//循环
//#define _CRT_SECURE_NO_WARNINGS 1
//#include<stdio.h>
//#include <string.h>
//#include <windows.h>
//#include <stdlib.h>
//#include <math.h>
//#include <time.h>
//c语言是一门结构化的程序设计语言
// 顺序结构
// 选择结构
// 循环结构
//
//C语言中由一个分号;隔开的就是一条语句
//int main()
//{
// char a[10] = "好好学习";
// char b[10];
// scanf("%s", b);
// if(strcmp(a, b)!=0);
// {
// printf("好office");
// }
// else
// {
// printf("种红薯");
// }
// return 0;
//}
//int main()
//{
// int age = 18;
// if (age < 18)
// printf("未成年\n");
// else
// printf("成年了\n");
// return 0;
//}
//判断一个数是否为计数
//int main()
//{
// int i = 1;
// while (i <= 100)
// {
// if (i & 2 == 1)
// {
// printf("%d ", i);
// }
// i++;
// }
// return 0;
//}
//
//int main()
//{
// int i = 1;
// while(i<=100)
// {
// printf("%d ",i);
// i += 2;
// }
// return 0;
//}
//swich语句
//int main()
//{
// int day = 0;
// scanf("%d", &day);
// switch (day)
// {
// case 1:
// printf("星期一\n"); \
// break;
// case 2:
// printf("星期二\n");
// break;
// case 3:
// printf("星期三\n");
// break;
// case 4:
// printf("星期四\n");
// break;
// case 5:
// printf("星期五\n");
// break;
// case 6:
// printf("星期六\n");
// break;
// case 7:
// printf("星期七\n");
// break;
// default:
// printf("输入有误\n");
// break;
// }
// return 0;
//}
//int main()
//{
// int day = 0;
// scanf("%d", &day);
// switch (day)
// {
// case 1:
// case 2:
// case 3:
// case 4:
// case 5:
// printf("工作日\n");
// break;
// case 6:
// case 7:
// printf("休息日\n");
// break;
// default:
// printf("输入有误\n");
// break;
// }
// return 0;
//}
//注意:swich语句中的冒号
//死循环
//在c语言中,0表示假,非0表示真
//int main()
//{
// while(1)
// printf("hehe\n");
// return 0;
//}
//int main()
//{
// int i = 1;
// while (i <= 10)
// {
// printf("%d\n", i);
// i++;
// }
// return 0;
//}
//getchar()函数用于获取一个字符
//putchar()用于输出一个字符
//int main()
//{
// int ch = getchar();
// putchar(ch);
// return 0;
//}
//int main()
//{
// int ch = 0;
// EOF - end of file 文件结束标志的意思,本身的值是-1
// EOF针对多组输入输出且数据没有固定的数据量的问题
// while ((ch = getchar()) != EOF)
// {
// putchar(ch);
// }
// return 0;
//}
//int main()
//{
// printf("%d\n", '\n'); //10
// return 0;
//}
//int main()
//{
// //int ch = 0;
// //while ((ch = getchar()) != EOF)
// //{
// // putchar(ch);
// //}
// int ch = 0;
// int ret = 0;
// char password[20] = { 0 };
// printf("请输入密码:");
// scanf("%s", password);//输入密码并存放password数组中
// while((ch=getchar(password))!='\n')
// {
// ;//空语句,不需要在进行执行
// }
// //n个getchar是为了清空缓冲区
// printf("请确认(Y/N):");
// ret = getchar();
// if (ret == 'Y')
// {
// printf("确认成功\n");
// }
// else
// {
// printf("确认失败\n");
// }
// return 0;
//}
// “||”逻辑或 有一个为真就都为真
//int main()
//{
// int ch = 0;
// while ((ch = getchar()) != EOF)
// {
// if (ch < '0' || ch>'9')
// continue;
// putchar(ch);
// }
// return 0;
//}
//for循环
//int main()
//{
// int i = 0;//初始变量
// while (i < 10)//判断
// {
// //
// i++;//调整部分
// }
// return 0;
//}
//使用for循环打印1到10的数字
//int main()
//{
// int i;
// //初始化 判断 调整
// for (i = 1; i <= 10; i++)
// {
// printf("%d ", i);
// }
// return 0;
//}
//int main()
//{
// for (;;)
// {
// printf("hehe\n");
// }
// return 0;
//}
//注意:for循环的初始化,判断,调整都可以省略,但是for循环的判断部分如果被省略,那判断条件就是恒为真(导致死循环)
//使用do……while循环打印1到10
//int main()
//{
// int i = 1;
// do
// {
// printf("%d ", i);
// i++;
// } while (i <= 10);
// return 0;
//}
//计算n的阶乘
//int main()
//{
// int sum=1;
// int i = 0;
// int n = 0;
// scanf("%d", &n);
// for (i = 1; i <= n; i++)
// {
// sum = sum * i;
// }
// printf("%d\n", sum);
// return 0;
//}
//阶乘的相加
//int main()
//{
// int i;
// int j;
// int ret = 1;
// int sum = 0;
// for (i = 1; i <= 3; i++)
// {
// for (j = 1; j <= i; j++)
// {
// ret = ret * j;
// }
// sum = sum + ret;
// ret = 1;
// }
// printf("%d\n", sum);
// return 0;
//}
//int main()
//{
// int arr[] = { 1,2,3,4,5,6,7,8,9,10 };
// int k = 7;
// int i = 0;
// int sz = sizeof(arr) / sizeof(arr[0]);
// for (i = 0; i < sz; i++)
// {
// if (k == arr[i])
// {
// printf("找到了,下标是%d ", i);
// break;
// }
// if (i == sz)
// {
// printf("找不到\n");
// }
// }
// return 0;
//}
//折半查找算法或二分查找算法
//int main()
//{
// int k = 17;//要找到元素
// int arr[] = { 1,2,3,4,5,6,7,8,9,10 };
// int sz = sizeof(arr)/sizeof(arr[0]);//计算元素个数
// int left = 0;//坐下标
// int right = sz - 1;//右下标
// while (left<=right)
// {
// int mid = (left + right) / 2;
// if (k < arr[mid])
// {
// right = mid - 1;
// }
// else if (k > arr[mid])
// {
// left = mid + 1;
// }
// else
// {
// printf("找到了,下标是:%d",mid);
// break;
// }
// }
// if (left > right)
// {
// printf("找不到\n");
// }
// return 0;
//}
//int main()
//{
// char arr1[] = { "welcome to bit" };
// char arr2[] = { "##############" };
// int left = 0;
// int right = strlen(arr1)-1;
// while (left <= right)
// {
// arr2[left] = arr1[left];
// arr2[right] = arr1[right];
// printf("%s\n", arr2);
// //休息一秒
// Sleep(1000);
// //清空屏幕
// system("cls");//执行系统命令的函数 "cls"清空屏幕指令
// left++;
// right--;
// }
// return 0;
//}
//int main()
//{
// int i = 0;
// char password[20] = {""};
// for (i = 0; i < 3; i++)
// {
// printf("请输入密码\n");
// scanf("%s", password);
// if (strcmp(password,"123456")==0) // == 等号不能用来比较字符串,应该使用一个库函数--strcmp
// {
// printf("恭喜你,密码正确\n");
// break;
// }
// else
// {
// printf("密码错误,请重新输入\n");
// }
// }
// if (i == 3)
// {
// printf("三次均密码错误\n");
// }
// return 0;
//}
//写三个数按从大到小输出
//int main()
//{
// int a = 0;
// int b = 0;
// int c = 0;
// scanf("%d,%d,%d", &a, &b, &c);
// if (a < b)
// {
// int tmp = a;
// a = b;
// b = tmp;
// }
// if (a < c)
// {
// int tmp = a;
// a = c;
// c = tmp;
// }
// if (b < c)
// {
// int tmp = b;
// b = c;
// c = tmp;
// }
// printf("%d%d%d",a,b,c);
// return 0;
//}
//打印1到100之间所有3的倍数
//int main()
//{
// int i = 0;
// for (i = 1; i <= 100; i++)
// {
// if (i % 3 == 0)
// {
// printf("%d ", i);
// }
// }
// return 0;
//}
//求两个数的最大公约数(辗转相除法)
//int main()
//{
// int m = 24;
// int n = 18;
// int i = 0;
// while (i=m % n)
// {
// /*i = m % n;*/
// m = n;
// n = i;
// }
// printf("最大公约数为:%d ", n);
// return 0;
//}
//判断1000到2000之间的闰年
//int main()
//{
// int i;
// int count = 0;
// for (i = 1000; i <= 2000; i++)
// {
// if ((i % 4 == 0) && (i % 100 != 0))
// {
// printf("%d ", i);
// count++;
// }
// if (i % 400 == 0)
// {
// printf("%d ", i);
// count++;
// }
// }
// printf("%d\n", count);
// return 0;
//}
//打印100到200之间的素数
//int main()
//{
// int i=0;
// int count = 0;
// for (i = 100; i <= 200; i++)
// {
// //判读i是否为素数
// //素数判断规则
// //1、试除法
// int j=0;
// for (j = 2; j < i; j++)
// {
// if (i % j == 0)
// {
// break;
// }
// }
// if (i == j)
// {
// count++;
// printf("%d ", i);
// }
// }
// printf("\ncount=%d\n", count);
// return 0;
//}
//优化代码
//int main()
//{
// int i = 0;
// for (i = 100; i <= 200; i++)
// {
// int j = 0;
// for (j = 2; j <= sqrt(i); j++) //sqrt开平方的数学库函数 头文件为 math.h
// {
// if (i % j == 0)
// {
// break;
// }
// }
// if (j > sqrt(i))
// {
// printf("%d ", i);
// }
//
// }
// return 0;
//}
//推荐文章:素数求解的n种境界
//1到100之间有多少个9
//int main()
//{
// int i = 0;
// int count = 0;
// for (i = 1; i <= 100; i++)
// {
// if (i % 10 == 9)
// {
// count++;
// }
// if (i / 10 == 9)
// {
// count++;
// }
// }
// printf("%d\n", count);
// return 0;
//}
//分数求和
//int main()
//{
// float i = 0;
// float sum = 0;
// int flat = 1;
// for (i = 1; i <= 100; i++)
// {
// sum = -flat*(1 / i + sum);
// }
// printf("%f", sum);//
// return 0;
//}
//求10个整数中的最大数
//int main()
//{
// int arr[] = { -1,-2,-3,-4,-5,-6,-7,-8,-9,-10 };
// //假设一个最大数
// int max = arr[0];
// int i = 0;
// int sz = sizeof(arr) / sizeof(arr[0]);
// for (i = 0; i < sz; i++)
// {
// if (arr[i] > max)
// {
// max = arr[i];
// }
// }
// printf("最大值为:%d\n", max);
// return 0;
//}
//输出一个乘法口诀表
//int main()
//{
// int i;
// for (i = 1; i <= 9; i++)
// {
// //打印一行
// int j;
// for (j = 1; j <= i; j++)
// {
// printf("%d*%d=%-2d ", j, i, i * j);
// }
// printf("\n");//换行
// }
// return 0;
//}
//猜数字游戏
1、电脑生成一个随机数
2、猜数字
//void game()
//{
// int guess = 0;//接受输入的数字,用于作比较
// //1、生成一个随机数
// int ret = 0;
// ret = rand()%100+1;//这个函数专门用来生成随机数
// //printf("%d\n", ret);
// //2、猜数字
// while (1)
// {
// printf("请输入一个数字:\n");
// scanf("%d", &guess);
// if (guess > ret)
// {
// printf("猜大了\n");
// }
// else if (guess < ret)
// {
// printf("猜小了\n");
// }
// else
// {
// printf("恭喜你猜对了");
// break;
// }
// }
//}
//void menu()
//{
// printf("*********************************\n");
// printf("**** 1、开始游戏 0、结束游戏 ****\n");
// printf("*********************************\n");
//}
//int main()
//{
// int input = 0;
// //时间戳
// //拿时间戳设置随机数的起点
// srand((unsigned int)time(NULL)); //unsigned int表示无符号整形 NULL指的是空指针
// //注意:时间戳是随时变化的,所以生成一次即可
// do
// {
// menu();//菜单
// printf("请选择:\n");
// scanf("%d", &input);
// switch(input)
// {
// case 1:
// game();//玩游戏的函数,需要自己定义的函数
// break;
// case 0:
// printf("退出游戏\n");
// break;
// default:
// printf("选择错误\n");
// break;
// }
// } while (input);
// return 0;
//}
//goto语句 允许把控制无条件转移到同一函数内的被标记的语句。
//死循环了
//int main()
//{
//angin:
// printf("hello,hehe\n");
// goto angin;
// return 0;
//}