博客
关于我
C入门【五】(一)
阅读量:294 次
发布时间:2019-03-01

本文共 1602 字,大约阅读时间需要 5 分钟。

1. 编写一个程序,可以直接收键盘字符

程序功能:接收键盘输入字符,并根据字符类型进行转换处理。如果是小写字符输出对应的大写字符;如果是大写字符输出对应的小写字符;如果是数字则不进行转换输出。

个人看法:直接对输入字符进行比对更加直观且符合常规思维习惯。

int main(){   	char c;	scanf("%c", &c);	if (c >= 'A' && c <= 'Z') {   		c += 32;		printf("%c", c);	}	else if (c >= 'a' && c <= 'z') {   		c -= 32;		printf("%c", c);	} else {   		printf("%c", c);	}	system("pause");	return 0;}

代码解释:程序首先读取一个字符输入,然后通过条件判断语句判断字符类型。对于大写字符(A-Z),通过加32转换为小写字符输出;对于小写字符(a-z),通过减32转换为大写字符输出;对于数字字符则直接输出原样。最终系统暂停一秒并结束程序。

2. 猜数字游戏

游戏规则:程序模拟一个猜数字的游戏机制。随机生成一个目标数字,用户输入数字进行比对,若输入数字大于目标数字提示“大了”,小于则提示“小了”,正好匹配则提示“对了”并结束游戏。游戏可在任何时刻通过输入0退出。

技术要点: 1. 使用`rand()`函数生成随机数,结合`time(NULL)`确保每次运行时生成不同的随机数,避免游戏失去趣味性。 2. 实现简单的数字比对逻辑,通过条件语句判断输入数字与目标数字的关系并输出提示信息。

#define _CRT_SECURE_NO_WARNINGS  #include "stdio.h"  #include "stdlib.h"  #include "time.h"  #define random(x) (rand() % x)  int Menu(){   	printf("******************\n");	printf("1. 进入游戏\n");	printf("0. 退出游戏\n");	printf("******************\n");	return 0;} int Game(){   	int input;	int target = random(100) + 1;	while (1){   		printf("请输入的数字:");		scanf("%d", &input);		if (input > target){   			printf("大了\n");		} else if (input < target){   			printf("小了\n");		} else {   			printf("对了\n");			system("pause");		break;		}	}} int main(){   	int input = 0;	srand((unsigned)time(NULL));	do{   		Menu();		printf("请选择: ");		scanf("%d", &input);		switch (input){   		case 1:			Game();			break;		case 0:			break;		default:			printf("重新输入\n");			break;		}	} while (input);	system("pause");	return 0;}

代码解释:程序首先定义游戏菜单和游戏逻辑。用户通过选择1进入游戏,随机生成一个1到100之间的目标数字。用户输入数字后进行比对,根据结果输出提示并继续游戏。输入0时退出游戏。程序启动时会重新生成随机数以确保每次游戏的随机性。

转载地址:http://ukza.baihongyu.com/

你可能感兴趣的文章
mysql [Err] 1436 - Thread stack overrun: 129464 bytes used of a 286720 byte stack, and 160000 bytes
查看>>
MySQL _ MySQL常用操作
查看>>
MySQL – 导出数据成csv
查看>>
MySQL —— 在CentOS9下安装MySQL
查看>>
mysql 不区分大小写
查看>>
mysql 两列互转
查看>>
MySQL 中开启二进制日志(Binlog)
查看>>
MySQL 中文问题
查看>>
MySQL 中日志的面试题总结
查看>>
mysql 中的all,5分钟了解MySQL5.7中union all用法的黑科技
查看>>
Mysql 中的日期时间字符串查询
查看>>
MySQL 中锁的面试题总结
查看>>
MySQL 中随机抽样:order by rand limit 的替代方案
查看>>
MySQL 为什么需要两阶段提交?
查看>>
mysql 为某个字段的值加前缀、去掉前缀
查看>>
mysql 主从
查看>>
mysql 主从 lock_mysql 主从同步权限mysql 行锁的实现
查看>>
mysql 主从互备份_mysql互为主从实战设置详解及自动化备份(Centos7.2)
查看>>
mysql 主从关系切换
查看>>
mysql 主键重复则覆盖_数据库主键不能重复
查看>>