IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> C++知识库 -> 一些小练习的笔记和思考 -> 正文阅读

[C++知识库]一些小练习的笔记和思考

关于main函数:main函数的位置可以在任意位置,但是如果在主函数之前调用了那些函数,必须在main函数前对其所调用函数进行生命或包含其被调用函数的头文件。

猜字数小游戏

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

#pragma warning(disable:4996)
#define TOP 100
void Menu()
{
?? ?printf("################################\n");
?? ?printf("## ? ? ? ? ? ?1. Play ? ? ? ? ##\n");
?? ?printf("## ? ? ? ? ? ?0. Exit ? ? ? ? ##\n");
?? ?printf("################################\n");
?? ?printf("Please Select> ");
}

void Game()
{
?? ?int data = rand() % TOP + 1;
?? ?int x = 0;
?? ?while (1) {
?? ??? ?printf("guess> ");
?? ??? ?scanf("%d", &x);
?? ??? ?if (x > data) {
?? ??? ??? ?printf("猜大了!\n");
?? ??? ?}
?? ??? ?else if (x < data) {
?? ??? ??? ?printf("猜小了!\n");
?? ??? ?}
?? ??? ?else {
?? ??? ??? ?printf("猜对了\n");
?? ??? ??? ?break;
?? ??? ?}
?? ?}
}
int main(){
?? ?int input = 0;
? ? srand((unsigned long)time(NULL));
?? ?int quit = 0;
while(!quit) {
?? ?Menu();
?? ?int select = 0;
?? ?scanf("%d", &select);
?? ?switch (select) {?? ?case 1:
?? ??? ?Game();
?? ??? ?break;
?? ?case 0:
?? ??? ?quit = 1;
?? ??? ?break;
?? ?default:
?? ??? ?printf("输入有误!重新选择!\n");
?? ??? ?break;
?? ?}
}
}

写了两个差不多相同的代码,一个能运行一个在报错。这合理吗?吐了,改了好一会了。

二分法找数字

int FindData(int arr[],int num, int who)
{
?? ?int left = 0;
?? ?int right = num - 1;
?? ?while (left <= right){
?? ??? ?int mid = (left + right) / 2;
?? ??? ?if (arr[mid] > who){
?? ??? ??? ?
?? ??? ??? ??? ?right = mid - 1;
?? ??? ??? ?}
?? ??? ??? ?else if (arr[mid] < who)
?? ??? ??? ?{
?? ??? ??? ??? ?left = mid + 1;
?? ??? ??? ?}
?? ??? ??? ?else
?? ??? ??? ??? ?return mid;
?? ??? ?}
?? ?printf("找不到该数字");
?? ?return -1;

}
int main()
{
?? ?int who = 5;
?? ?int arr[] = { 1,2,3,4,5,6,7,8,9,10,22,33,44,55 };
?? ?int num = sizeof(arr) / sizeof(arr[0]);

?? ?int index = FindData(arr, num, who);

?? ?printf("index ; %d\n", index);

?? ?return 0;
}

.if语句是一种分支.可以实现单分支,也可以实现多分支

switct语句中的default子句可以放在任意位置语句。

switch的每个case之后如果没有加break语句,当前case执行结束后,会继续执行紧跟case中的语句

switch语句中表达式的类型只能是:整形和枚举类型

  C++知识库 最新文章
【C++】友元、嵌套类、异常、RTTI、类型转换
通讯录的思路与实现(C语言)
C++PrimerPlus 第七章 函数-C++的编程模块(
Problem C: 算法9-9~9-12:平衡二叉树的基本
MSVC C++ UTF-8编程
C++进阶 多态原理
简单string类c++实现
我的年度总结
【C语言】以深厚地基筑伟岸高楼-基础篇(六
c语言常见错误合集
上一篇文章      下一篇文章      查看所有文章
加:2021-11-19 17:27:06  更:2021-11-19 17:28:58 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 8:02:18-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码