| |
|
开发:
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语言学习记录——? 分支与循环(3) -> 正文阅读 |
|
[C++知识库]C语言学习记录——? 分支与循环(3) |
更多的练习 关键字不可以做变量名,不可以自己创建。 指针变量32位为4个字节,64位为8个字节。 static可以修饰函数,局部变量,全局变量 switch()括号里面的参数类型不能是浮点数类型,int, char都行 打印1~100之间所有3的倍数的数字: int main() { int i = 0; for(i = 1; i <= 100; i++) { if(i % 3 == 0) printf("%d\n", i); } return 0; } 给定两个数,求最大公约数: int main() { int m = 24; int n = 18; int r = 0; scanf("%d%d", &m, &n); while(r = m % n) { m = n; n = r; } printf("%d\n", n); return 0; } 打印1000~2000年之间的闰年: int main() { int year = 0; int count = 0; for(year = 1000; year <= 2000; year++) { if(((year % 4 == 0) && (year %100! = 0)) || (year % 400 == 0)) { printf("%d ", year); count++; } printf("\ncount = %d\n", count); return 0; } 打印100~200之间的素数: int main() { int i = 0; int count = 0; for(i = 100; i <= 200; i++) { //素数判断一种方法:试除法。比如说13,素数除了1和本身,只需要看2~12之间有没有可以整除13的即可。也就是2~i - 1 int j = 0; int count = 0; for(j = 2; j < 1; j++) { if(i % j == 0) { break; } } if (j == i) { count ++; printf("%d ", i); } } printf(\ncount = $d\n", count); return 0; } 不过这种算法不够好: int j = 0; int count = 0 //sqrt--开平方的数学库函数 for(i = 101; i <= 20; i += 2) { int j = 0; for(j = 2; j <= sqrt(i); j++) { if(i % j == 0) { break; } } if (j > sqrt(i)) { count ++; printf("%d ", i); } } printf(\ncount = $d\n", count); return 0; } 仍然不是很好的素数求法,但是也是做了点优化。 数1~100之间所有整数中出现多少个数字9: int main() { int i = 0; int count = 0; for(i = 1; i <= 100; i++) { if(i % 10 == 9) count++; if(i / 10 == 9) count++; } printf("count = %d\n", count); return 0; } 计算1/1-1/2+1/3-1/4........+1/99-1/100的值: int main() { int i = 0; double sum = 0.0; int flag = 1; for(i = 1; i <= 100; i++) { sum += flag*1.0/i; flag = -flag; } printf("%lf\n",sum); return 0; } 求10个整数最大值: int main() { int arr[] = {-1, -2, -3..-10}; int max = arr[0]; int i = 0; int sz = sizeof(arr) / sizeof(arr[0]); for(i = 1; i < sz; i++) { if(arr[i] > max) { max = arr[i]; } } ptintf("max = %d\n", max); return 0; } 打印乘法口诀表: int main() { int i = 0; for(i = 1; i <= 9; i++) { int j = 1; for(j = 1; j <= i); j++) { printf("%d*%d=%-2d ", i, j, i*j) } printf("\n"); } return 0; } 猜数字游戏 #include <stdlib.h> #include <time.h> void menu() { printf("****************************\n"); printf("***? 1.play??? 0.exit???? ****\n"); printf("****************************\n"); } void game() { int ret = 0; int guess = 0; //time_t time(time_t * timer) ret = rand()%100 + 1;? //生成1~100之间随机数 while(1) { printf("猜数字:>“); scanf("%d", &guess); if(guess > ret) { printf("猜大了\n“); } else if(guess < 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(); break; case 0; printf("退出游戏\n"); break; default: printf("选择错误\n”); break; } }while (input); return 0; } goto语句 goto语句可以随意用的语句和标记跳转的标号。既然可以随意去哪,那么它的使用是带些破坏性质的,尽量不使用,除非没有其他代替的了。 int main() { printf("hello world\n"); goto again; printf("nihao\n"); again: printf("hehe\n"); return 0; } 只打印hello world和hehe。 goto可能会程序执行顺序打乱,影响逻辑。但是goto也有很好的用处。最常见的用法就是终止程序在某些深度嵌套的结构的处理过程,例如一次跳出两层或多层循环。这种情况下使用break是达不到目的的。它只能从最内层循环退出到上一层的循环。两个例子: for(...) ????? for(....) ????? { ?????????? for(....) ?????????? { ???????????????? if(disaster) ??????????????????????? goto error; ??????????? } ????? } ??? error; ????????? if(disaster) ????????????????? //处理错误情况 关机程序: #include <stdio.h> #include <string.h> #include <stdlib.h> int main() { char input[10] = {0}; system("shutdown? -s? -t? 60"); again: printf("电脑将在1分钟内关机,如果输入:不看了,就取消关机!\n请输入:>”); scanf("%s", input); if(strcmp(input, "不看了")== 0) { system("shutdown? -a"); } else { goto again; } return 0; } 或者 int main() { char input[10] = {0}; system("shutdown? -s? -t? 60"); while(1) { printf("电脑将在1分钟内关机,如果输入:不看了,就取消关机!\n请输入:>”); scanf("%s", input); if(strcmp(input, "不看了")== 0) { system ("shutdown? -a"); break; } } return 0; } 结束。2021元旦快乐,去往2022年。 ???????????? ???? |
|
C++知识库 最新文章 |
【C++】友元、嵌套类、异常、RTTI、类型转换 |
通讯录的思路与实现(C语言) |
C++PrimerPlus 第七章 函数-C++的编程模块( |
Problem C: 算法9-9~9-12:平衡二叉树的基本 |
MSVC C++ UTF-8编程 |
C++进阶 多态原理 |
简单string类c++实现 |
我的年度总结 |
【C语言】以深厚地基筑伟岸高楼-基础篇(六 |
c语言常见错误合集 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
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 10:55:25- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |