
C语言_家庭作业
自编代码+维护
神迹小卒
大学,大学,大不了自学
展开
-
bilibili大学_C语言作业_作业OJ链接
1. 字符串翻转https://leetcode-cn.com/problems/reverse-string/2. 二进制中1的个数https://leetcode-cn.com/problems/number-of-1-bits原创 2020-12-17 16:19:38 · 151 阅读 · 0 评论 -
bilibili大学_C语言作业_day22-文件IO
1.学习,并写博客介绍文件操作相关的函数2.将通讯录实现成文件存储的版本。原创 2020-12-17 16:19:44 · 134 阅读 · 0 评论 -
bilibili大学_C语言作业_day20-结构体
1.自定义类型部分知识写一篇博客。知识点:>结构体类型创建>结构体初始化>结构体内存对齐>位段,位段计算机大小。>枚举+联合。2.实现一个通讯录;通讯录可以用来存储1000个人的信息,每个人的信息包括:姓名、性别、年龄、电话、住址提供方法:1. 添加联系人信息2. 删除指定联系人信息3. 查找指定联系人信息4. 修改指定联系人信息5. 显示所有联系人信息6. 清空所有联系人7. 以名字排序所有联系人...原创 2020-12-17 16:23:17 · 129 阅读 · 0 评论 -
bilibili大学_C语言作业_day19-字符串内存函数模拟实现2
1.模拟实现strncpy2.模拟实现strncat3.模拟实现strncmp原创 2020-12-16 10:26:29 · 115 阅读 · 0 评论 -
bilibili大学_C语言作业_day18-指针2
1.理解数组指针2.理解函数指针和定义3.理解函数指针数组和定义,转移表4.理解指向函数指针数组的指针和定义5.理解回调函数的使用6.完成课堂代码和练习。7.练习使用qsort函数排序各种类型的数据。8.模仿qsort的功能实现一个通用的冒泡排序。...原创 2020-12-16 10:25:21 · 167 阅读 · 0 评论 -
bilibili大学_C语言作业_day21-动态内存开辟
1.将通讯录改成动态的版本。2.练习动态内存开辟malloccallocreallocfree函数3.看《高质量C/C++编程》上的题目。原创 2020-12-16 10:26:38 · 98 阅读 · 0 评论 -
bilibili大学_C语言作业_day17-指针1
1.理解一级指针二级指针指针和数组指针数组完成课堂代码和练习。写博客,将连接发给我。2.阅读《C语言深度剖析》指针章节。原创 2020-12-16 10:25:39 · 132 阅读 · 0 评论 -
bilibili大学_C语言作业_day16-字符串函数模拟实现1
1.实现strcpy2.实现strcat3.实现strstr4.实现strchr5.实现strcmp6.实现memcpy7.实现memmove原创 2020-12-16 10:25:04 · 130 阅读 · 0 评论 -
bilibili大学_C语言作业_day15
1.一个数组中只有两个数字是出现一次,其他所有数字都出现了两次。找出这两个只出现一次的数字,编程实现。2.喝汽水,1瓶汽水1元,2个空瓶可以换一瓶汽水,给20元,可以多少汽水。编程实现。3.模拟实现strcpy4.模拟实现strcat...原创 2020-12-16 10:24:54 · 119 阅读 · 0 评论 -
bilibili大学_C语言作业_day14
1.实现一个函数,可以左旋字符串中的k个字符。ABCD左旋一个字符得到BCDAABCD左旋两个字符得到CDAB2.判断一个字符串是否为另外一个字符串旋转之后的字符串。例如:给定s1 =AABCD和s2 = BCDAA,返回1给定s1=abcd和s2=ACBD,返回0.AABCD左旋一个字符得到ABCDAAABCD左旋两个字符得到BCDAAAABCD右旋一个字符得到DAABC...原创 2020-12-16 10:24:36 · 168 阅读 · 0 评论 -
bilibili大学_C语言作业_day13
1.调整数组使奇数全部都位于偶数前面。题目:输入一个整数数组,实现一个函数,来调整该数组中数字的顺序使得数组中所有的奇数位于数组的前半部分,所有偶数位于数组的后半部分。2.//杨氏矩阵有一个二维数组.数组的每行从左到右是递增的,每列从上到下是递增的.在这样的数组中查找一个数字是否存在。时间复杂度小于O(N);数组:1 2 32 3 43 4 51 3 42 4 54 5 61 2 34 5 67 8 9...原创 2020-12-16 10:23:39 · 117 阅读 · 0 评论 -
bilibili大学_C语言作业_day12
1.编写函数:unsigned int reverse_bit(unsigned int value);这个函数的返回值是value的二进制位模式从左到右翻转后的值。如:在32位机器上25这个值包含下列各位:00000000000000000000000000011001翻转后:(2550136832)10011000000000000000000000000000程序结果返回: 25501368322.不使用(a+b)/2这种方式,求两个数的平均值。3.编程实...原创 2020-12-16 10:20:26 · 126 阅读 · 0 评论 -
bilibili大学_C语言作业_day11
1. 5位运动员参加了10米台跳水比赛,有人让他们预测比赛结果A选手说:B第二,我第三;B选手说:我第二,E第四;C选手说:我第一,D第二;D选手说:C最后,我第三;E选手说:我第四,A第一;比赛结束后,每位选手都说对了一半,请编程确定比赛的名次。2. 日本某地发生了一件谋杀案,警察通过排查确定杀人凶手必为4个嫌疑犯的一个。以下为4个嫌疑犯的供词。A说:不是我。B说:是C。C说:是D。D说:C在胡说已知3个人说了真话,1个人说的是假话。现在请根据这些信息,写一个程序来确..原创 2020-12-15 08:27:59 · 165 阅读 · 0 评论 -
bilibili大学_C语言作业_day09
1.完成扫雷程序,并优化: 1>第一次下子,不炸死。 2>坐标周围没雷,可以实现展开。原创 2020-12-15 08:27:38 · 133 阅读 · 0 评论 -
bilibili大学_C语言作业_day10
1.写一个函数返回参数二进制中 1 的个数比如: 15 0000 1111 4 个 1程序原型:int count_one_bits(unsigned int value){ // 返回 1的位数}2.获取一个数二进制序列中所有的偶数位和奇数位,分别输出二进制序列。3. 输出一个整数的每一位。4.编程实现:两个int(32位)整数m和n的二进制表达中,有多少个位(bit)不同?输入例子:1999 2299输出例子:7 5....原创 2020-12-15 08:27:51 · 155 阅读 · 0 评论 -
bilibili大学_C语言作业_day08
完成三子棋程序原创 2020-12-15 08:27:31 · 113 阅读 · 0 评论 -
bilibili大学_C语言作业_day06
1.实现一个函数,打印乘法口诀表,口诀表的行数和列数自己指定,输入9,输出9*9口诀表,输入12,输出12*12的乘法口诀表。2.使用函数实现两个数的交换。3.实现一个函数判断year是不是润年。4.创建一个数组,实现函数init()初始化数组、实现empty()清空数组、实现reverse()函数完成数组元素的逆置。要求:自己设计函数的参数,返回值。5.实现一个函数,判断一个数是不是素数。...原创 2020-12-15 08:27:10 · 121 阅读 · 0 评论 -
bilibili大学_C语言作业_day07
1.递归和非递归分别实现求第n个斐波那契数。2.编写一个函数实现n^k,使用递归实现3. 写一个递归函数DigitSum(n),输入一个非负整数,返回组成它的数字之和,例如,调用DigitSum(1729),则应该返回1+7+2+9,它的和是194. 编写一个函数 reverse_string(char * string)(递归实现)实现:将参数字符串中的字符反向排列。要求:不能使用C函数库中的字符串操作函数。5.递归和非递归分别实现strlen6.递归和非递归分别实现求n的阶乘7原创 2020-12-15 08:27:19 · 124 阅读 · 0 评论 -
bilibili大学_C语言作业_day05
1.完成猜数字游戏。2.写代码可以在整型有序数组中查找想要的数字,找到了返回下标,找不到返回-1.(折半查找)3.编写代码模拟三次密码输入的场景。 最多能输入三次密码,密码正确,提示“登录成功”,密码错误, 可以重新输入,最多输入三次。三次均错,则提示退出程序。4.编写一个程序,可以一直接收键盘字符,如果是小写字符就输出对应的大写字符,如果接收的是大写字符,就输出对应的小写字符,如果是数字不输出。...原创 2020-12-15 08:27:01 · 134 阅读 · 0 评论 -
bilibili大学_C语言作业_day04
1.在屏幕上输出以下图案: * *** ***** ******* ******************************************** ********* ******* ***** *** *2.求出0~999之间的所有“水仙花数”并输出。“水仙花数”是指一个三位数,其各位数字的立方和确好等于该数本身,如;153=1+5+3?,则153是一个“水仙花数”。/*在数论中,水仙花数(Na...原创 2020-12-15 08:26:31 · 134 阅读 · 0 评论 -
bilibili大学_C语言作业_day03
1. 将数组A中的内容和数组B中的内容进行交换。(数组一样大)2. 计算1/1-1/2+1/3-1/4+1/5 …… + 1/99 - 1/100 的值。3. 编写程序数一下 1到 100 的所有整数中出现多少个数字9。原创 2020-12-14 18:32:35 · 119 阅读 · 0 评论 -
bilibili大学_C语言作业_day02
作业:1. 给定两个整形变量的值,将两个值的内容进行交换。2. 不允许创建临时变量,交换两个数的内容(附加题)3.求10 个整数中最大值。4.将三个数按从大到小输出。5.求两个数的最大公约数。...原创 2020-12-14 18:32:05 · 107 阅读 · 0 评论 -
bilibili大学_C语言作业_day01
特别:注册自己的csdn博客。1. 打印100~200之间的素数2. 输出乘法口诀表3. 判断1000年---2000年之间的闰年4.写一篇博客。谈谈1>写一个自我介绍2>列出你编程的目标。3>你打算怎么学习编程?4>你打算在学习编程这件事上每周花费多少时间?5>你最想进入的一家IT公司。...原创 2020-12-14 18:30:54 · 128 阅读 · 0 评论 -
C语言_递归函数DigitSum(n),输入一个非负整数,返回组成它的数字之和
写一个递归函数DigitSum(n),输入一个非负整数,返回组成它的数字之和#define _CRT_SECURE_NO_WARNINGS#include<stdio.h>int DigitSum(unsigned int num)//1729{ if (num > 9) { return DigitSum(num / 10) + num % 10;//172+9//17+2+9//1+7+2+9 } else { return num; }}int ma原创 2020-12-03 16:50:40 · 512 阅读 · 0 评论 -
C语言_字符串逆序V3.0
V1.0程序:使用库函数strlen#include<stdio.h>#include<string.h>void reverse_string(char arr[]){ int left = 0; int right = strlen(arr) - 1; int i = 0; while (left < right) { int tmp = arr[left]; arr[left] = arr[right]; arr[right] = tmp原创 2020-12-03 16:47:04 · 151 阅读 · 0 评论 -
C语言_交换一维数组
#include<stdio.h>int main(){ int arr1[] = { 1,3,5,7,9 }; int arr2[] = { 2,4,6,8,0 }; int i = 0; int tmp = 0; int sz = sizeof(arr1) / sizeof(arr1[0]); for (i = 0; i < sz; i++) { tmp = arr1[i]; arr1[i] =原创 2020-12-03 15:54:31 · 877 阅读 · 0 评论 -
C语言_一维数组倒置
#include<stdio.h>int main(){ int arr[] = { 1,2,3,4,5,6,7,8,9 }; int sz = sizeof(arr) / sizeof(arr[0]); int left = 0; int right = sz - 1; int tmp = 0; int i = 0; while (left < right) { tmp = arr[left];原创 2020-12-03 15:50:17 · 4034 阅读 · 0 评论 -
C语言_求一个整数的二进制位中有几个1
#include<stdio.h>int main(){ int num = 0; int count = 0; scanf("%d",&num); for(i=0;i<32;i++) { if (1==(num>>i)&1)) count++; } printf("%d",num);} //32bit //num&1==1;则一定为1//统计num补码有几个1..原创 2020-12-01 21:02:00 · 285 阅读 · 0 评论 -
C语言_不创建临时变量,交换两个整数的值
int a = 3;int b = 5;//加减法a = a+b;//a等于ab之和8b = a-b;//b=3;a = a-b;//a=5;缺陷:如果a和b存储较大的整形时,二进制位可能会溢出//异或法a = a^b;//a=6 b=5b = a^b;//a=6 b=3a = a^b;//a=5 b=3//a^b产生一个密码,密码和a异或可出b,密码和b异或可出a//可读性较差...原创 2020-12-01 21:00:55 · 183 阅读 · 0 评论 -
C_classwork_递归和迭代分别求第n个斐波那契数
递归求第n个斐波那契数#include<stdio.h>int Fib(int n){ if(n<=2) return 1; else return Fib(n-1)+Fib(n-2);}//TDD-测试驱动开发:先写主函数,后写其他函数int main(){ int n=0; int ret=0; scanf("%d",&n); ret=Fib(n); printf("%d\n",ret); return 0;}//50//49 48原创 2020-11-21 19:26:54 · 125 阅读 · 0 评论 -
C_classwork_递归求n的阶乘
#include<stdio.h>int Fac2(int n){ if(n<=1) return 1; else return n*Fac2(n-1);}int main(){ int n=0; int ret=0; scanf("%d",&n); ret=Fac2(n); printf("%d\n",ret); return 0;}原创 2020-11-21 19:25:53 · 106 阅读 · 0 评论 -
C_classwork_不能使用临时变量(计数器),使用递归解决计算字符串长度
不能使用临时变量(计数器),使用递归解决//把大事化小//self_strlen("bit");//1+self_strlen("it");//1+1+self_strlen("t");//1+1+1+self_strlen("");//1+1+1+0//3#include<stdio.h>int self_strlen(char* str){ if(*str!='\0') return 1+self_strlen(str+1);//b的地址+1==>i的地址原创 2020-11-21 19:25:08 · 105 阅读 · 0 评论 -
C_classwork_递归:输入无符号整数1234 打印1 2 3 4
#include<stdio.h>void print(int n)//1234{ if(n>9) { print(n/10); } printf("%d ",n%10);}int main(){ unsigned int num = 0; scanf("%d",&num); print(num);}原创 2020-11-21 19:22:55 · 283 阅读 · 0 评论 -
C_classwork_最简单的递归
#include<stdio.h>int main(){ printf("hehe\n"); main(); return 0;}原创 2020-11-21 19:20:52 · 115 阅读 · 0 评论 -
C_classwork_函数二分查找
#include<stdio.h>int binary_search(int arr[], int k, int sz)//本质arr[]是一个指针{ //折半查找,提高确定速率 //不能使用这样的方法在函数内求数组大小 //int sz=sizeof(arr)/sizeof(arr[]); int left = 0; int right = sz - 1; while (left <= right)//条件<=要写对 {原创 2020-11-19 17:09:33 · 166 阅读 · 0 评论 -
C_classwork_函数传递两个值回main()函数
#include<stdio.h>//错误的设计思路,只改变了x和y,没有对a和b的地址进行改变//当实参传给形参时,形参只是实参的临时拷贝,形参是不会改变实参的//使用指针实现实参改变// void Swap1(int x,int y)// { // int tmp=0; // tmp=x; // x=y; // y=tmp;// }void Swap2(int* pa, int* pb){ int tmp = 0; tmp =.原创 2020-11-19 16:52:52 · 150 阅读 · 0 评论 -
C_classwork_计算n的阶乘
#include <stdio.h>int main(){ int n,sum=1,i; printf("计算n的阶乘"); scanf("%d",&n); for(i=1;i<n+1;i++) { sum=sum*i; } printf("n的阶乘是%d",sum); return 0;}原创 2020-11-15 11:05:09 · 129 阅读 · 0 评论 -
C_classwork_算法:折半查找算法;二分查找算法;最多log2(n)
#include <stdio.h>int main(){int arr[]={1,2,3,4,5,6,7,8,9};//下标 0 1 2 3 4 5 6 7 8int sz=sizeof(arr)/sizeof(arr[0]);//计算数组大小int left=0;//左下标int right=sz-1;//右下标int mid;int k;//要找的数字printf("请输入你想查找的数字:>");scanf("%d",&k);whil原创 2020-11-15 11:00:14 · 357 阅读 · 0 评论 -
day18_C语言_指针2
1.理解数组指针数组指针是一个指针,指向的是一个数组代码举例#include<stdio.h>int main(){ int i = 0; int arr[5] = { 0 }; for (i = 0; i < 5; i++) { arr[i] = i; } int(*p)[5] = &arr; for (i = 0; i < 5; i++) { printf原创 2021-02-04 08:24:59 · 288 阅读 · 1 评论 -
day16_4_C语言_模拟实现strchr
strchr字符串中查找字符c的函数库函数声明char *strchr(const char *str, int c)在参数 str 所指向的字符串中搜索第一次出现字符 c(一个无符号字符)的位置str – 要被检索的 C 字符串c – 在 str 中要搜索的字符该函数返回在字符串 str 中第一次出现字符 c 的位置,如果未找到该字符则返回 NULL头文件#include <string.h>简单例子#include <stdio.h>#include &l原创 2020-12-27 10:23:06 · 161 阅读 · 0 评论