![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
每日一题
Linux劝退师
这个作者很懒,什么都没留下…
展开
-
C语言文件操作函数大全
【代码】C语言文件操作函数大全。原创 2022-12-24 22:20:59 · 224 阅读 · 1 评论 -
C语言union联合体中不同类型变量读取同一地址数据问题
又由于X86计算机把高字节数据存在高地址,把低字节数据存在低地址(小端字节序)。且int 为4字节,long 为4字节, char 为1字节。所以我们得到的c[0]~c[3]应为78 56 34 12。首先我们明白联合体所有变量公用一段内存。那么显然b的值为0x12345678。原创 2022-10-06 18:10:30 · 728 阅读 · 3 评论 -
C语言结构体链表 节点插入方法(从前和从后)
1.如果是从头节点前插入,则直接令新节点的下一个等于头节点,然后返回新节点即可。第三个参数是要插入的节点的位置,用结构体的值来表示(实际项目可自由更改)第四个参数是插入方式(前AHEAD/后BEHIND)第一步那么新节点的NEXT等于P->NEXT。第一步那么新节点的NEXT等于P->NEXT。第二步P的NEXT指向新节点。第二步P的NEXT指向新节点。第二个参数是要插入的新节点地址。第一个参数是原链表头节点地址。...原创 2022-07-31 14:45:05 · 6379 阅读 · 0 评论 -
每日一题C语言9
C语言字符串反转原创 2022-07-15 01:13:45 · 198 阅读 · 1 评论 -
每日一题C语言8
题目:给定一个非空数组,除了某个元素,其他元素都出现了两次,找出那个元素例如:{1,1,2,3,2} 输出 3{1,2,2,3,3} 输出 1说明:你的算法应具有线性复杂度,且你不可以使用额外空间来存放数组思路:此题看似简单,但由于规定不能使用其他数组作缓存变量,故常用的遍历计数法失效了,此时可以使用位运算中的异或运算(^)来实现。异或运算规则如下:a^a=00^a=a所以将数组经过一轮异或后,留下的就是只出现一次的数代码如下:#include <stdio.h>原创 2022-03-17 15:23:04 · 686 阅读 · 0 评论 -
每日一题C语言7
题目:编写一个原型为 bool isAbsPrime(int n)的函数,用于判断一个数是否为绝对素数,绝对素数是指一个素数,其反置数也为素数,如37为素数,73也为素数,则37,73都为绝对素数注:标准C库中没有bool类型,需要添加头文件 <stdbool.h>来使用bool类型,其返回值为true 和false 相当于数字电路中的0/1;代码如下:#include <stdio.h>#include <stdlib.h>#include <s原创 2022-03-08 21:10:31 · 439 阅读 · 0 评论 -
每日一题C语言6
题目:我国现行的二代身份证号码是18位数字,由前17位数字本体码和最后1位校验码组成.校验码通过前17位数字根据一定规则计算得出,如果校验码不符合这个规则,那么该号码肯定是假号码.计算方法为:前17位分别乘权重后相加,权重表如下图乘积和除以11得到余数,再将余数从0-10转换为{‘1’,‘0’,‘X’,‘9’,‘8’,‘7’,‘6’,‘5’,‘4’,‘3’,‘2’}对比身份证最后一位是否校验正确,若正确输出出生日期,错误则输出"Fail"思路将身份证读到一个字符串中,再把每个char转换为i原创 2022-03-07 21:32:33 · 540 阅读 · 0 评论 -
每日一题C语言5
题目:编写toArray()函数,原型为 int toArray(char *str ,char c, int arr[]),输入数字串,将字符串str按字符c分割,并将其中的数字保存到ayy数组中。如输入123,456,789 指定分割字符为 ’ , ’ 则arr[0]=123,arr[1]=456,arr[2]=789思路:现预读一边字符串,将分隔符的位置记录在flag数组中,每次取两个分割符之间的字符(如flag[2]=5,flag[3]=8,则我们要的数据就是第6,7位)到buf进行转换原创 2022-03-06 21:17:09 · 508 阅读 · 0 评论 -
每日一题C语言4
题目:编写程序把4位16进制字符串转换为短整型数,如“FFF8”转换为-8代码如下:#include <stdio.h>#include <stdlib.h>int main(){ char a[4]; int c[4]; int i; int total=0; int cnt; scanf("%s",a); printf("input:%s\n",a); for(i=0;i<4;i++) {原创 2022-03-05 14:23:12 · 519 阅读 · 0 评论 -
每日一题C语言3
题目:实现一个六行六列的整型矩阵,初值的十位为行号,个位为列号,(如第1行第6列的值为16,第3行第4列的值为34)再将这个矩阵转置,即第一行元素放在第一列上,第二列的元素放在第二行上,以此类推思路:创建一个结构体存储矩阵的行列数量,值的信息由二维数组来存储,再对该矩阵进行初始化, m.data[i][j] = (i+1)*10+(j+1);关于转置,其实就是把行列的数据互换 output.data[j][i] = input.data[i][j];代码如下#include <原创 2022-03-03 16:59:45 · 699 阅读 · 0 评论 -
每日一题C语言2
题目:假设有n个元素的一数组a,其中的数据已按由小到大的顺序存放,请编写函数去掉a数组中所有重复的数,只保留不同的数,其余清0,函数返回不同数的个数,函数原型为 int funel( int *a ,int n);例如:数组a中的数据是2,2,2,3,4,4,5,6,6,6,6,7,7,8,9,9,10,10,10,删除后数组a中前9个元素是2,3,4,5,6,7,8,9,10,其余为0,函数返回9思想:取一个临时数组b,并令其全为0,判断数组a的值与flag是否相同,若不同则将数组a的值放入b,并使原创 2022-03-02 16:21:47 · 1024 阅读 · 0 评论 -
每日一题C语言1
输入某年某月某日,判断这一天是这一年的第几天,并输出今年还剩下多少天?例如输入2020,12,25,则输出12月25日为20年的第360天,今年还剩下6天程序如下:#include<stdio.h>#include<stdlib.h>int main(){ int year; int mouth; int day; int output_year1;//年份个位 int output_year2;//年份十位 int output_day1=0;//第几天原创 2022-03-01 15:24:20 · 243 阅读 · 0 评论