0
点赞
收藏
分享

微信扫一扫

循环典型例题分享

勇敢的趙迦禾 2022-04-17 阅读 52
c语言
  1. 目录
    一.二分查找
    二.打印1到100中9的个数
    三.关机程序
    四.1!+2!+3!······n!
    五.猜数字游戏

  2. 前言: 代码的重难点我会直接在程序中注释出来,当然如果有什么疑问,我们也可以评论区交流。

  3. 1:在一个有序数组中查找具体的某个数字n。(讲解二分查找)

//根据一个有序数组确定数组的左右下标,求得中间元素的下标。
//用中间元素的下标和相比,不断缩小空间,每次数据量减少一半。
//因此也叫折半查找。
#include <stdio.h>
int main()
{
	int arr[] = { 1,2,3,4,5,6,7,8,9,10 };
	int k = 8;
	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("找到了,k的下标:>%d", mid);
			break;
		}
	}
	return 0;
} 

3.2:打印1到100中9的个数

//数字9主要分别在十位和百位上,因此我们只需要统计个位上的9和十位上的9相加即可。
#include <stdio.h>
int main()
{
	int i = 1;
	int count = 0;//记数
	for (i = 1; i <= 100; i++)
	{
		if (i % 10 == 9)
		{
			count++;//个位为9
		}
		if (i / 10 == 9)
		{
			count++;//十位为9
		}
	}
	printf("%d\n", count);
	return 0;
}

3.3:关机程序


 //1. List item

#include <stdio.h>
#include <windows.h>
#include <stdlib.h>
#include <string.h>

int main()
{
	char entry[10] = { 0 };
	system("shutdown -s -t 60");
again:
	
		printf("电脑将在1分钟后关机,输入我是猪将取消关机\n");
		scanf("%s", entry);
		if (strcmp(entry, "我是猪") == 0)
		{
			system("shutdown -a");
			
		}
		else
		{
			goto again;
		}
	
	return 0;
}

3.4:1!+2!+3!······n!

 10.#include <windows.h>
#include <stdio.h>
int main()
{
	int sum = 0;
	int ret = 1;
	int i = 0;
	int num = 0;
	scanf("%d", &num);
	for (i = 1; i <= num; i++)
	{
		ret *= i;//计算i的阶乘
		sum += ret;//把i的阶乘加到sum里即可
	}
	printf("%d\n", sum);
	return 0;
} 

3.5 猜数字游戏

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
void menu()
{
	printf("******************************\n");
	printf("*****1. play   0. exit********\n");
	printf("******************************\n");
}
void game()
{
	int num = rand() % 100 + 1;
	int n = 0;
	printf("请输入你猜取得数字:>");
	scanf("%d", &n);
	while (1)
	{
		if (num > n)
		{
			printf("caixaiole\n");
		}
		else if (num < n)
		{
			printf("caidale\n");
		}
		else
		{
			printf("caiduile\n");
		}
		scanf("%d", &n);
	}
}



举报

相关推荐

0 条评论