Demo1
int main() {
int choice = 0;
printf("*******欢迎使用建设银行*********\n");
printf("1. 更改密码\n");
printf("2. 取款\n");
printf("3. 存款\n");
printf("4. 退出\n");
printf("*****************************\n");
printf("请选择操作:");
scanf("%d", &choice);
* if (choice == 1){
* printf("选择的: 更改密码\n");
* } else if (choice == 2){
* printf("选择的: 取款\n");
* } else if (choice == 3){
* printf("选择的: 存款\n");
* } else{
* printf("选择的: 退出\n");
* }
switch (choice) {
case 1:
printf("选择的: 更改密码\n");
break;
case 2:
printf("选择的: 取款\n");
break;
case 3:
printf("选择的: 存款\n");
break;
default:
printf("选择的: 退出\n");
break;
}
return 0;
}
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main() {
* 使用rand()要导入stdlib.h头文件
* 每一次重新运行得到的结果都是一样的
* 随机数是伪随机数
*
* 默认系统自动会为rand() 播种
* 如果每次运行种子不变 就会导致每次运行产生的随机数序列都是一样的
*
* 如果需要每次运行产生的随机数序列不一样(真正的随机数)
* 就需要自己主动更换种子
* srand()
*
* 手动更换种子是比较繁琐
* 通常以时间作为种子(1970.1.1 -- 你运行程序的那一刻)
* 1000
* 1001
* 导入头文件 time.h
* time()
//srand(11);
srand(time(0));
int temp = rand()%9 + 1;
printf("%d\n", temp);
int temp2 = rand()%9 + 1;
printf("%d\n", temp2);
int temp3 = rand()%9 + 1;
printf("%d\n", temp3);
return 0;
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
用sleep要引用头文件
*linux
#include <unistd.h>
*windows
#include <windows.h>
int main() {
//随机数
srand(time(0));
int num1 = rand() % 9 + 1;
int num2 = rand() % 9 + 1;
int num3 = rand() % 9 + 1;
printf("%d %d %d", num1, num2, num3);
fflush(stdout);
//延迟2s
//linux系统sleep单位是秒 1 = 1s
//windows系统单位是毫秒 1000 = 1s
sleep(1);
//刷新
// \n 光标定位到下一行的行首
// \r 光标定位到当前行的行首
printf("\r");
printf(" ");
return 0;
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main() {
srand(time(0));
* for - 和次数相关
*
* while - 循环的条件 通常不需要关注次数
* do...while
*
* 为什么要循环
* for ( 初始循环控制变量 ; 循环执行的条件 ; 循环控制变量的变化 )
* 初始循环控制变量 只会执行一次 (可以省略)
* 当需要扩大变量的作用域时 可以在外部定义
* 不需要扩大作用域时 尽量写在内部
* 循环执行的条件 不能省略 每次执行都会来判断这个条件是否成立
* 成立就执行代码块
* 不成立就退出这个循环
* 循环控制变量的变化 这个表达式会在当前这一次执行完毕之后 最后执行这个表达式
for (int i = 1; i < 11; i++ ) {
printf("%d ", i);
}
int i = 1;
for (; i < 11; ) {
printf("%d ", i);
i++;
}
return 0;
}
break 当希望提前跳出整个循环
for (int i = 1; i <= 100; i++) {
if ( i <= 5){
printf("%d ", i);
}else{
break;
}
}
continue 结束当前这一次循环 继续下一次循环
当前continue后面的代码不会执行
for (int i = 1; i <= 100; i++) {
if (i == 5){
continue;
}
printf("%d ", i);
}
return 0;
}
Demo
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <unistd.h>
* 产生的随机数序列 4
* 1 2 3
* 刷屏
* 请输入号码 1 2 3
* 正确
* 1 2 3 4
* 刷屏
* 请输入号码 1235
* 退出
*
* 使用for循环控制每次产生多少个随机数
* 1 2 3
int main() {
//记录当前产生随机数的个数
int count = 3;
//玩家猜测的数字
int guessNumber = 0;
//生成的随机数组成的整体
int orgNumber = 0;
//播种子 - 确定随机数的范围
srand(time(0));
for (; 2 > 1 ; ) {
//产生随机数
//1
for (int i = 0; i < count; ++i) {
//产生一个随机数
int temp = rand() % 9 + 1;
//输出
printf("%d ", temp);
//将当前这个数字加到orgNumber中
//1 1
//2 1*10 + 2 =12
//3 12*10 + 3
orgNumber = orgNumber*10 + temp;
}
fflush(stdout);
//给玩家时间记忆 延迟
sleep(2);
//擦除
//回到行的开头
printf("\r");
//用字符串替换
printf("请输入序列:");
//1-9
//123
//接收用户猜测的数字
scanf("%d", &guessNumber);
//判断是否相同
if (orgNumber == guessNumber){
printf("正确\n");
//下一次多产生一个随机数
count++;
//原始序列清零
orgNumber = 0;
}else{
printf("错误 序列号为:%d\n", orgNumber);
break;
}
}
return 0;
}