- 博客(11)
- 收藏
- 关注
原创 关于c语言中链表的小操作
学习了链表后写了一个在链表中各种操作的程序,可能功能也不全,该程序用处不大,如果想要使用,把数据域改成需要存储的数据类型可增加实用性,#include<stdio.h> #include<malloc.h>#include<stdlib.h>typedef struct Node{ int date; struct Node*next;}Node;void menu(void);//假如原来链表是升序的,升序插入新节点//不能插入节点后再排...
2021-06-07 14:48:17 282
原创 删除文件中的注释:将C语言源程序文件中的内容分语句和注释两部分,语句(去除空行后)显示在屏幕上,注释存放到文本文件中
这是一道文件操作初应用的题目:首先我们可以直接的看到该题目中代码需要我们分几种情况去做出不一样的操作。如果有/,则分为3种情况1://连在一起。2./*连在一起。3.单就一个/。对于第二种情况还得细分,因为*后面的代码可能是/也可能不是/。如果没有/,则打印在屏幕上。故情况如图:#include<stdio.h>int main(){ FILE*p1=fopen("hello.c","r");//打开hello.c文件并只读 ...
2021-05-31 15:49:57 892
原创 图书信息查询问题
#include "stdio.h"#include "string.h"#define N 10struct Book{ char name[100]; float price;};int instring(char *s1,char *s2); //s1若属于s2的字串,则返回1,否则返回0int main(){ struct Book books[N]={{"Fling in sky",23.0},{"I love my mother",15.5},{"My...
2021-05-25 15:43:07 299
原创 学生成绩分析
代码如下#include "stdio.h"#define N 10 //学生人数上限#define M 5 //课程门数上限struct stud{ char name[10]; //姓名 double course[M];//成绩 double aver; //平均分}s[N];int main(){ int n,m,i,j; double course[M]={0}; //用于统计每门课程的平均分 scan...
2021-05-25 15:28:29 491
原创 蛇形矩阵
这道题是简单二维数组的应用,注意到每一行中两个数字分别差是多少和每行数组首元素是多少即可解决:1 3 610 15 差分别为2,3 , 4 , 52 5 9 14 差分别为3, 4,5故先假设差为2每次遍历列的时候差++即可;到新的一行时差为2+i即可,例如上面i为1时差是2+1;再看首元素,分别为1,2 ,4 ,7 ,11我们可以看到,当i>=1时只要用上一个元素加是自己的i即可2=1+1;//i=14=2+2;//i=27+4...
2021-05-23 10:58:41 110
原创 猴子吃桃的问题
举例子,如果猴子三天就把桃子吃完了,最后一天剩1个,则倒数第二天有2*(1+1)=4个,第一天有2*(4+1)=10个,显然又是一道递归题目,代码如下int fun(int s){ if(s==1) return 1; else return 2*(fun(s-1)+1);}int main(){ int s; scanf("%d",&s); int sum=fun(s); printf("%d",sum); } ...
2021-05-23 10:39:34 79
原创 有规律的数列求和
很显然,这道题中的数列,后一个数的分子为前一个数的分子分母之和,它的分母为前一个数的分子代码如下:#include<stdio.h>double fun(int n){ double a=2,b=1,z,sum=2; int i; for(i=2;i<=n;i++) { z=a; a=a+b; b=z; sum+=a/b; } return sum;}int main(){ int n; scanf("%d",&n); d...
2021-05-23 10:18:25 226
原创 FJ的字符串
题目如上,当时我在做题的时候第一时间没有想到递归而是想到字符串各种库函数的应用,只要在上一列的最后一个位置整出一个字母,再用strncat接上之前的就行了,最后一个位置下标为strlen(当前字符串),当时我就忘记考虑,每进行一行的时候要在最后加上‘\0’,否则最后可能会越界。初始代码如下:#include<stdio.h>#include<string.h>int main(){ int n,i,j=1,z=0;//j为第一次接长的位置,z为旧位置 ch...
2021-05-23 10:05:25 264 1
原创 n的阶层之和问题
题目如上,这是一道入门级的题目,但也很容易错,注意到题目中所给n的范围是不超过20,而在n的阶层之和中,20!=2,432,902,008,176,640,000,double类型最多存储1.7*10^308而20!用科学计数法是2.43290200817664e+326已经超过了double最大存储范围,该题目的解决方法是用long long 类型,代码如下:#include<stdio.h>long long s(int n){ if(n==1) return 1; ...
2021-05-22 21:45:40 304
原创 用指针找出数组中最大值和最小值
题目和我所编辑的代码如上,题设中已给出部分代码,而我们要做的仅仅是找到最大值和最小值的下标并告知主函数。如果不用指针的话,一个函数在一次使用中只能有一个返回值,如果你要同时找到最大最小值且只用一个函数,就得用指针了!看到题目中函数中接收值有intmax,intmin,故用来接受int变量的地址,我们把&max,&min发送过去就可以在函数中修改max和min了。接受一个非字符串数组要知道它的首元素地址和长度,故题目也这样做了,接下来通过数组的遍历找出最大最小值保存下来即可!...
2021-05-22 20:58:51 7258
原创 二维数组中指定元素的删除
已知一个二维整型数组已初始化a[5][5]={{1,2,3,4,5},{2,3,4,5,6},{3,4,5,6,7},{0,1,2,3,4},{6,7,8,9,0}},请删除此数组中所有等于指定值的元素,删除后,各元素依次前移。请注意,C语言二维数组的行优先方式存储。例如:a[3][2]的数组,在内存中依次存储a[0][0],a[0][1],a[1][0],a[1][1],a[2][0],a[2][1],也就是说,先存储第“0”行的元素,再存储第“1”行的元素。输入:一行一个整数,表示被删除的元素。
2021-05-21 22:41:05 5029 3
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人