第七次作业 do while循环

文章包含三个部分:一是用C语言实现了一个1-100的猜数字游戏,用户可以反复玩;二是解决了一个简单的数学求和问题,计算(1*i)的和;三是模拟了电梯等待算法,计算小乐乐等待电梯所需的时间。所有问题均用C语言编程解决。
摘要由CSDN通过智能技术生成

一.猜数字游戏

要求:

1.程序会生成一个1-100的随机数

2.猜数字

1)猜小了,程序会告诉你猜小了,继续猜

2)猜大了,程序会告诉你猜大了。继续猜

3)猜对了,程序会告诉你:恭喜你,猜对了。结束

3.游戏可以反复玩

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

void menu()
{
	printf("**************************\n");
	printf("******    1. play   ******\n");
	printf("******    0. exit   ******\n");
	printf("**************************\n");
}

//rand函数是专门用来生成随机数的
//rand函数返回的是0~RAND_MAX(32767)之间的一个随机数
//#define RAND_MAX 0x7fff
//
//
//
//rand函数在使用之前要使用一个srand函数来设置随机数的生成器
//srand函数在程序中只要调用一次就可以了,不需要频繁调用
//
//
//
//时间戳
//C语言中,time函数会返回时间戳
//
//NULL - 空指针

void game()
{
	int num  = 0;
	//1. 生成随机数
	int ret= rand() % 100 + 1;
	//printf("%d\n", ret);
	//2. 猜数字

	while (1)//一直猜,一部分一部分写
	{
		printf("请猜数字:>");
		scanf("%d", &num);
		if(num < ret)
		{
			printf("猜小了\n");
		}
		else if (num> ret)
		{
			printf("猜大了\n");
		}
		else
		{
			printf("恭喜你,猜对了\n");
			break;
		}
	}
}

int main()
{
	int input = 0;
	srand((unsigned int)time(NULL));
	do
	{
		//打印菜单
		menu();
		printf("请选择:>");
		scanf("%d", &input);
		switch (input)
		{
		case 1:
			game();//game函数中是猜数字的整个路基逻辑
			break;
		case 0:
			printf("退出游戏\n");
			break;
		default:
			printf("选择错误,重新选择\n");
			break;
		}
	} while (input);
	return 0;
}

 

二.

描述

小乐乐最近接触了求和符号Σ,他想计算(1*i)的结果。但是小乐乐很笨,请你帮助他解答。

输入描述:

输入一个正整数n  (1 ≤ n ≤ 109)

输出描述:

输出一个值,为求和结果。

#include<stdio.h>
int main()
{
	int n = 0;
	scanf("%d", &n);
	int i = 0;
	long long sum = 0;
	for (i = 1; i <= n; i++)
	{
		sum = sum + i;
	}
	//sum = (n = 1) * n / 2; 等差数列 通项公式
	printf("%lld", sum);   //long long用lld输出
	return 0;
}

三.描述

小乐乐学校教学楼的电梯前排了很多人,他的前面有n个人在等电梯。电梯每次可以乘坐12人,每次上下需要的时间为4分钟(上需要2分钟,下需要2分钟)。请帮助小乐乐计算还需要多少分钟才能乘电梯到达楼上。(假设最初电梯在1层)

输入描述:

输入包含一个整数n (0 ≤ n ≤ 109)

输出描述:

输出一个整数,即小乐乐到达楼上需要的时间。

 

#include<stdio.h>
int main()
{
	int n = 0;
	scanf("%d", &n);
	printf("%d", (n / 12) * 4 + 2);  
	return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值