如何用for循环打印1到10的数字,代码如下:

int main()
{
	int i = 0;
	    初始化  判断   调整
	for ( i = 1; i <= 10; i++)
	{
		if (i == 5)
			continue;
		printf("%d\n", i);
	}
	return 0;
}

for循环是我们使用最多的循环,所以要掌握一些基本的使用方法

如何计算 n的阶乘,代码如下:

int main()
{
	int n = 0;
	int i = 0;
	int ret = 1;
	scanf("%d", &n); 
	for  (i = 1; i <= n ; i++)
	{
		ret = ret * i;
	}
	printf("ret = %d\n", ret);
	return 0;
}

求10以内阶乘的和,代码如下:

int main()
{
	int n = 0;
	int i = 0;
	int ret = 1;
	int sum = 0;
	for (n = 1; n <= 10; n++)
	{
		ret = 1;
		for (i = 1; i <= n; i++)
		{
			ret = ret * i;
		}
		sum = sum + ret;
	}
	printf("sum = %d\n", sum);
	return 0;
}

当然我们也可以用另外一种更简洁的方法:

int main()
{
	int n = 0;
	int ret = 1;
	int sum = 0;
	for (n = 1; n <= 10; n++)
	{
		ret = ret * n;
		sum = sum + ret;
	}
	//ret = 1*1=1
	//ret = 1*1*2=2
	//ret = 1*1*2*3=6
	printf("sum = %d\n", sum);
	return 0;
}

如何用代码实现二分查找法:

int main()
{
	int arr[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9,10 };
	int k = 17;

	int sz = sizeof(arr) / sizeof arr[0];
	int left = 0;//左下标
	int right = sz-1;//右下标

	while (left<=right)
	{
		int mid = (left + right) / 2;
		if (arr[mid] > k)
		{
			right = mid - 1;
		}
		else if (arr[mid] < k)
		{
			left = mid + 1;
		}
		else
		{
			printf("找到了\n", mid);
			break;
		}
		if (left > right)
		{
			printf("找不到\n");
		}
	}
	return 0;
}

如何编写代码,演示多个字符从两端移动,向中间汇聚:

int main()
{
	//welcome to china!!! 
	//###################
	//w#################!
	//we###############!!
	//...
	//welcome to china!!!
	//
	//char arr[] = "abc";
	//[a,b,c,\0]
	// 0 1 2  3
	//c是4-2
	char arr1[] = "welcome to china!!!";
	char arr2[] = "###################";
	int left = 0;
	//int right = sizeof(arr1) / sizeof(arr1[0]) - 2;//err
	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--;
	}
	printf("%s\n", arr2);
	return 0;
}

编写代码实现,模拟用户登录情景,并且只能登录三次。(只允许输入三次密码,如果密码正确则提示登录成,如果三次均输入错误,则退出程序:

int main()
{
	int i = 0;
	char pd[20] = { 0 };
	for ( i = 0; i < 3; i++)
	{
		printf("请输入密码:>");
		scanf("%s", pd);
		if (strcmp(pd ,"123456") == 0)// == 不能用来比较两个字符串是否相等,应该使用一个库函数strcmp
		{
			printf("登录成功\n");
			break;
		}
		else
		{
			printf("密码错误\n");
		}
	}
	if (i == 3)
		printf("三次密码均错误,退出程序");
	return 0;
}

可以从上面的练习中,我们能知道for循环的一些使用,以及语法的一些格式。

2021.1.19 加油,明天继续努力