C语言学习笔记——循环章节

学习小结

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;
//}

猜你喜欢

转载自blog.csdn.net/qq_72935001/article/details/125974180