C
实现C语言学习中一些常用的方法,以及学习中遇到的一些问题整理
满开创
这个作者很懒,什么都没留下…
展开
-
C语言每日一练(5)将整型数组中数值相等的元素只保留一个,其他的删除,返回新数组的长度
题目:将整形数组中数字相同的数字只保留一个,其他的都删除,已知数组元素已经按从小到大的顺序排列。例如[2,2,2,3,3,4,5,5,6,6,7],处理完成之后的数字应该为[2,3,4,5,6,7],函数的返回值为新数组的长度。题目很简单,应为已经按从小到大排列了,所以就是遍历数组,判断数组的当前元素是不是等于新数组的最后一个元素,如果不相等,就把值赋给新数组,新数组长度+1代码如下:/* 题目:将整形数组中数字相同的数字只保留一个,其他的都删除 已知数组元素已经按...原创 2020-12-01 09:35:25 · 1743 阅读 · 1 评论 -
C语言每日一练(4)sizeof使用常见的两个问题(sizeof(结构体)以及数组传参之后sizeof的问题)
*sizeof使用过程中的两个重要点:*1、sizeof(structs)*要点是对齐的问题,以及要深入理解#pragmapack(n);*默认的#pragmapack(n),n=8;*当结构体的成员变量的长度>n时,使用n进行字节对齐*当结构的成员变量的长度<n时,使用自身默认的字节对齐* 结构体的总长度应该为n的整数倍,如果不是,要进行补齐操作*例如:*...原创 2020-11-22 14:18:00 · 724 阅读 · 0 评论 -
C语言每日一练(3)从字符串数组中查找给定的字符串(PS:字符串数组的遍历)
从一个字符串数组中,查找有没有给定的字符串,如果有,返回其索引,如果没有,返回-1考查要点:第一、字符串比较函数strcmp,如果两个字符串相同,返回0,如果不相同,返回非0(根据第一个不相同的字符的ascii比较来看,如果前面的大于后面,返回值>0,反之,则返回值<0);第二、字符串数组的遍历; 实际考查的是获取字符串数组的长度,len = sizeof(array) / sizeof(array[0])示例代码如下:#include <stdio.h>#i原创 2020-11-22 00:28:10 · 7223 阅读 · 1 评论 -
C语言每日一练(2)获取合数和质数
题目:获取小于输入数字的所有合数和质数考查的知识点:第一、将输入的字符串转换成数字,使用atoi函数,头文件stdlib.h;第二、计算质数和合数的方法:if(i%j==0){break;}break之后,如果j<i,那么就是合数,因为没有增加到i,就整除了如果j=i或者i=2,那么就是质数,因为一直也没有整除。/** 获取n(n>1)以内的所有质数或者合数*/...原创 2020-11-21 14:12:06 · 1303 阅读 · 0 评论 -
C语言每日一练(1)将指定字符串中的指定字符去掉,如果字符串头有该字符,要保留,有几个保留几个
将指定字符串中的*去掉,如果字符串头有*,要保留,有几个保留几个;例:源字符串为****abAb*CDEF*ff*****,输出为:****abAbCDEFff。该题考查:1、字符串指针的遍历方法;字符串以'\0'结尾,是判断字符串结束的标识方法一:*p == '\0'时,while循环结束while(*p){ p++}方法二:*p == '\0'时,for循环结束for(;*p != '\0'; p++){}2、从字符串中删除某一字符的方法;遍历.原创 2020-11-20 23:47:38 · 347 阅读 · 0 评论 -
获取一组数据中的最大数(最大数不唯一),保存到目标数据中,返回最大数的个数
/**param:* a:源数据* b:目标数据* len:源数据长度**return:目标数据长度*/static int get_maxdata(int *a, int *b, int len){ int i = 0; int n = 0; int maxdata; maxdata= a[0]; for(i = 1; i < len; i++){ //遍历数组,找出最大的.原创 2020-11-20 13:26:55 · 193 阅读 · 0 评论