指针练习题 冷不防 2023-10-03 18:37 5阅读 0赞 **目录** 1 知识点 2 写一个函数,可以逆序一个字符串的内容。 3 打印水仙花数 4 打印菱形 -------------------- ### 1 知识点 ### (1)野指针不能正常使用 (野指针有三种类型) (2)32位系统下,使用的最大内存空间是2^32。(2^32Byte == 2^32/1024KB ==2^32/1024/1024MB==2^32/1024/1024/1024GB == 4GB)64位系统下,使用的最大空间是2^64 (3)指针可以比较大小,指针中存储的是地址,地址可以看成一个数据,因此是可以比较大小的。 (4)两个指针相减,指针必须指向一段连续空间,减完之后的结构代表两个指针之间相差元素的个数。 (5)指针数组,落到数组上面,还是一个数组,数组里面存放的是都是指针。 (6)sizeof不可以在函数内,strlen可以在函数内 (7)在循环体中,尽量不要改变循环变量i ,j ,k 这样的值,否则影响循环。 ### 2 写一个函数,可以逆序一个字符串的内容。 ### 数据范围:1≤len(str)≤10000 **代码展示:** #include <stdio.h> #include <string.h> int main() { char arr[1000] = { 0 }; gets(arr); char* left = arr; char* right = arr + strlen(arr) - 1; while (left < right) { char ret = *left; *left = *right; *right = ret; left++; right--; } printf("%s", arr); return 0; } ![watermark_type_d3F5LXplbmhlaQ_shadow_50_text_Q1NETiBA5bCP5YiY5ZCM5a2mTA_size_20_color_FFFFFF_t_70_g_se_x_16][] 知识点: gets(arr)表示输入一个字符串到数组arr ### 3 打印水仙花数 ### 求出0~100000之间的所有“水仙花数”并输出。 “水仙花数”是指一个n位数,其各位数字的n次方之和确好等于该数本身,如:153=1^3+5^3+3^3,则153是一个“水仙花数”。 **代码展示:** #include <stdio.h> #include <math.h> int main() { int i = 0; for (i = 0; i <= 100000; i++) { int n = 1; int tmp = i; while (tmp /= 10) { n++; } tmp = i; int sum = 0; while (tmp) { sum = sum + (int)pow(tmp % 10, n); tmp /= 10; } if (sum == i) { printf("%d ", i); } } return 0; } **知识点:**(1)pow(a,n)返回值double,注意类型转换 头文件为math,h **注意:**(1)在循环体中,尽量不要改变循环变量i ,j ,k 这样的值,否则影响循环,如果需要用的话,可以将循环变量赋给中间值。 (2)while 循环,注意条件,学会尝试应用0为假和其他数为真 ### 4 打印菱形 ### **代码展示**: #include <stdio.h> int main() { int line = 0; scanf("%d", &line); int i = 0; for (i = 0; i < line; i++) { int j = 0; for (j = 0; j < line - 1 - i; j++) { printf(" "); } for (j = 0; j < 2 * i + 1; j++) { printf("*"); } printf("\n"); } for (i = 0; i < line - 1; i++) { int j = 0; for (j = 0; j < i + 1; j++) { printf(" "); } for (j = 0; j < 2 * (line - 2 - i) + 1; j++) { printf("*"); } printf("\n"); } return 0; } ![watermark_type_d3F5LXplbmhlaQ_shadow_50_text_Q1NETiBA5bCP5YiY5ZCM5a2mTA_size_20_color_FFFFFF_t_70_g_se_x_16 1][] [watermark_type_d3F5LXplbmhlaQ_shadow_50_text_Q1NETiBA5bCP5YiY5ZCM5a2mTA_size_20_color_FFFFFF_t_70_g_se_x_16]: https://img-blog.csdnimg.cn/863fea82af824f2d8da914e7a998cbaa.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5bCP5YiY5ZCM5a2mTA==,size_20,color_FFFFFF,t_70,g_se,x_16 [watermark_type_d3F5LXplbmhlaQ_shadow_50_text_Q1NETiBA5bCP5YiY5ZCM5a2mTA_size_20_color_FFFFFF_t_70_g_se_x_16 1]: https://img-blog.csdnimg.cn/b17fb8435f2848409bdd62c2bb52031b.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5bCP5YiY5ZCM5a2mTA==,size_20,color_FFFFFF,t_70,g_se,x_16
相关 指针练习题 目录 1 知识点 2 写一个函数,可以逆序一个字符串的内容。 3 打印水仙花数 4 打印菱形 -------------------- 1 知识点 (1)野 冷不防/ 2023年10月03日 18:37/ 0 赞/ 6 阅读
相关 练习题 Golang练习题 HelloWorld func main() { fmt.Println("HelloWorld") } 水深无声/ 2023年06月02日 13:57/ 0 赞/ 24 阅读
相关 练习题 1. 简述编译型与解释型语言的区别,且分别列出你知道的哪些语言属于编译型,哪些属于解释型 2. Pyhton 单行注释和多行注释分别用什么? 3. 布尔值分别有什么,及作 浅浅的花香味﹌/ 2023年01月18日 10:30/ 0 赞/ 70 阅读
相关 练习题 1、显示/var目录下所有以l开头,以一个小字母结尾,且中间出现一位数字的文件或目录; \ ls /var/l\\[\[:digit:\]\]\[\ 绝地灬酷狼/ 2022年11月20日 09:44/ 0 赞/ 216 阅读
相关 练习题6 要求用户输入一个0到2之间的整数, 如果用户输入0输出“你出的是石头”, 如果用户输入1就输出“你出的是剪刀”, 如果用户输入的是2就输出“你出的是布”, 每次 落日映苍穹つ/ 2022年05月30日 02:15/ 0 赞/ 229 阅读
相关 练习题 题目:有四个数字:1、2、3、4,能组成多少个互不相同且无重复数字的三位数?各是多少? 程序分析:可填在百位、十位、个位的数字都是1、2、3、4。组成所有的排列后再去 掉不 分手后的思念是犯贱/ 2022年05月21日 05:09/ 0 赞/ 291 阅读
相关 函数练习题 1.打字软件的正确率 编写函数,计算字符串匹配的准确率,(类似于打字软件) orginStr为原始内容,userStr为用户输入内容 2.模拟轮盘抽奖游戏: 转盘 一时失言乱红尘/ 2022年05月16日 03:57/ 0 赞/ 342 阅读
相关 sql练习题 建表和插入数据库的sql DROP TABLE IF EXISTS `course`; CREATE TABLE `course` ( `c àì夳堔傛蜴生んèń/ 2021年12月22日 13:07/ 0 赞/ 327 阅读
还没有评论,来说两句吧...