C语言
山野雾灯ccc
路漫漫其修远兮,吾将上下而求索。
展开
-
C语言实现————定长顺序表
定长顺序表,我们可以看出一个数组,因为不需要扩容,没有必要用到malloc。存储如下图头文件FixedLengthSqList.h#pragma once//防止头文件重复typedef int ELEM_TYPE;#define SIZE 20//结构体声明typedef struct SqList{ ELEM_TYPE data[SIZE]; //不扩容的顺序表 int length; //顺序表的有效元素个数}SqList,*PSqList;//初始化原创 2022-01-10 00:48:36 · 402 阅读 · 0 评论 -
C语言实现学生成绩管理系统
C语言实现学生成绩管理系统该系统是由带头结点的单链表实现的,实现了增删改查等的基本功能。在打印的时候会有界面的不整齐,但是基本功能都已经实现。#include<stdio.h>#include<assert.h>#include<stdlib.h>#include<string.h>typedef struct LNode{ char number[20];//学号 char name[20];//姓名 float score1;原创 2021-02-06 21:38:49 · 431 阅读 · 0 评论 -
C语言实现不带头结点的单链表逆置的三种方法
C语言实现不带头结点的单链表逆置的三种方法直接循环头插法递归法END!直接循环图片解释ListNode* ReverseList1(ListNode *head){ if(head == NULL || head->next == NULL) { return head; } ListNode* tail = NULL; ListNode* p = head; ListNode* s = head ->原创 2021-02-03 20:47:50 · 6620 阅读 · 2 评论 -
输入一个数,判断是否是水仙花数
输入一个数,判断是否是水仙花数问题描述测试结果问题描述请判断一个数是不是水仙花数。其中水仙花数定义各个位数立方和等于它本身的三位数数据包含一个整数n(100 <= n < 1000)输入0表示程序输入结束如果n是水仙花数就输出Yes否则输出No标准输入:153标准输出 : Yes示例1 : 输入:154输出:No示例2 : 输入:0输出:#include<stdio.h>#include<math.h>int sum_num(const原创 2021-01-06 19:00:33 · 8446 阅读 · 0 评论 -
给定两个单链表,编写程序找出两个链表的公共结点。
题目描述给定两个单链表,编写程序找出两个链表的公共结点。!!!图中没有画出Head2的头结点,大家注意一下在这里,大家需要注意的是两个链表的公共结点不是指数据域相同的结点,而是指地址相同的结点。问题分析通过上图,我们可以得到如果两个链表有公共结点,那么从公共结点开始,两个链表后面的结节都是相同的(红色框);从这一点出发,我们可以先得到两个链表的长度(length1和length2),让长的链表先走两个链表长度相减的那一段结点(蓝色框),然后我们可以认为两个链表的长度是相等的(绿.原创 2020-11-19 17:54:44 · 2482 阅读 · 1 评论 -
C语言实现判断一个月的第几天是星期几
假如某月的1日是星期三,那么输入该月中的日期,要求输出对应的星期数。如输入3,则输出Friday。要求使用switch语句实现。问题分析因为该月的1日是星期三,我们就可以以这个为初始条件来判断。一周有7天,我们就会想到对7取余,来判断是星期几。具体代码实现如下:#include<stdio.h>int main(){ int day = 0; scanf_s("%d", &day); int week = (day + 2) % 7; switc原创 2020-11-14 22:44:04 · 4814 阅读 · 5 评论 -
C语言---一元多向表达式的加、减、乘--链表实现
关于文字描述,上一篇已经介绍过,这里就不做过多介绍。!!!需要注意的是,这次代码多项式加、减、乘之间互相影响,也就是如果先算加法,,后算减法,加法运算的结果会作为减法的一个表达式输入;每次只能计算加减乘其中一种结果。这里给出代码:LinkListPolynomial.h头文件#pragma once//一元多项式的链式表达,利用带头结点的单链表实现//多项式的插入和删除操作是比较频繁,用链式结构比顺序结构更好//链表按照指数升序排列#define EPS 0.000001ty原创 2020-11-11 22:59:26 · 419 阅读 · 0 评论 -
C语言---链表实现一元多项式的加减乘
一元多项式的表示及相加在数学上,一个一元多项式Pn(x)可以按照升幂写成: Pn(x)=p0+p1x+p2x^2+....pnx^n这个表达式由系数(coef),指数(expn)两部分组成,由此我们可以用链表(带有头结点)表示一个一元多项式,如下:采用上述链表方式,我们可以创建两个链表来分别存放两个一元多项式表达式,然后再将他们相加,减,乘后的结果分别保存到新创建的链表中。具体实现如下:Polynomial_A...原创 2020-11-11 22:40:35 · 3133 阅读 · 1 评论 -
C语言结构体表示年月日,得到 日期+天数 得到日期 的结果
//结构体表示年月日,得到 日期+天数 = > 日期 的结果//如果天数<该月的天数-该月已有的天数,直接相加即可//如果天数>该月的天数-该月已有的天数,月数循坏++,当月份>12时年数++,直到所需加的天数为0即可struct date{ int year; int month; int day;};bool Is_LeapYear(int year) { return ( (year % 4 == 0 && year %...原创 2020-05-29 23:34:55 · 1580 阅读 · 2 评论 -
C语言中的常量问题
字面常量只可取值,不可赋值int main(){ //字面常量 int a=20; float a2=30.0; char ch1='a';}2.宏常量宏常量无类型区分,也不开辟空间,它在预编译的时候就开始宏替换const 常变量用const关键字修饰的常量,其只可取值,不可赋值enum枚举常量(枚举关键字)enum 类型名 枚举量enum BOLL_E //默认从0开始{ FALSE,TRUE //0,1};enum Age{ Li=20,.原创 2020-05-18 16:45:42 · 232 阅读 · 0 评论 -
数组知识点
原创 2020-05-13 12:55:12 · 105 阅读 · 0 评论 -
统计字符串中单词的个数。
C语言实现统计字符串中单词的个数。#include<stdio.h>#include<ctype.h>int main(){ char str[] = { "I am a student wear" }; int i = 0; int sum = 0; int num = 0; for (i = 0; str[i] != '\0'; i++) ...原创 2020-02-20 21:13:18 · 225 阅读 · 0 评论 -
C语言数组实现前30个斐波那契数列
定义大小为30的整型数组,计算前30个fibonacii数列。前两个数都为1,后面的数都等于前两个数之和int main(){ int F[30] = { 1,1 }; for (int i = 2; i < 30; i++) { F[i] = F[i - 1] + F[i - 2]; } for (int i = 0; i < 30; i++) { prin...原创 2020-02-19 18:28:19 · 6123 阅读 · 2 评论 -
C语言中的数组问题
数组的元素量必须>0;类型必须是无符号整型;定义数组时,不管是那种类型的数组,只要他未初始化,他的值就是0;数组的属性:type和数组的个数 数组在内存中是连续存储的(连续属性)int main(){ int ar[5] = { 1,2 }; char br[5] = { 'a','b' }; double cr[5] = { 1.23,3....原创 2020-02-18 11:57:39 · 238 阅读 · 0 评论 -
C语言实现猜数字问题
编写一个猜数字程序。小时候老师让我们做过这么一个趣味游戏:猜数字,他给出了一个1到100之间的数字,然后让全班同学猜,游戏规则是这样的:要是同学猜的数字大了,老师会给出提示:猜大了,同理小的老师也会给出提示,要是正确老师会给出猜对了。一节课就在这么一顿乱猜中结束了,大家都是乱猜,偶尔会瞎猫碰到死耗子,然后结束的时候老师告诉我们,你们可以每次猜中间的数字,这样就可以很快的猜出结果。#includ...原创 2020-02-17 21:26:06 · 986 阅读 · 0 评论 -
c语言求1~10的阶乘和
求1 + 2!+ 3!+ … + 10!的和#include<stdio.h>int main(){ int sum = 0; int n = 1; for (int i = 1; i <= 10; i++) { n = n * i; sum = sum + n; } printf("1 + 2!+ 3!+ ... + 10!的和sum = %d\n"...原创 2020-02-16 16:59:57 · 12773 阅读 · 2 评论 -
c语言实现9*9乘法表
c语言实现9*9乘法表#include<stdio.h>int main(){ printf("9*9乘法表如图所示:\n"); for (int i = 1; i <= 9; i++)//9行 { for (int j = 1; j <= i; j++)// { printf("%d * %d = %d\t", j, i, j * i); }...原创 2020-02-16 15:35:35 · 2683 阅读 · 0 评论 -
c语言的优先级,
优先级:* 高于 +=我们在写c语言代码时,不会i += 2 * a;这种形式,#include<stdio.h>int main(){ int i = 0; int a = 3; i += 2 * a;//i=0+2*3=6; printf("i = %d\n", i); return 0;}...原创 2020-02-15 15:02:51 · 135 阅读 · 0 评论 -
c语言输入一个数,分别正序、逆序输出他的各个位数
正序输出:#include<stdio.h>int main(){ printf("Please input a: "); int a = 0; scanf_s("%d", &a); int i = 0; for (int k = 10000; k > 0; k = k / 10) { i = a / k; a = a - i * k; pr...原创 2020-02-15 14:56:07 · 1470 阅读 · 0 评论 -
c语言中","表达式
“,”表达式:结合从左到右,取最后一个表达式的值作为结果#include<stdio.h>int main(){ int a = 3; int b = 3; int c = 3; int d = 0; d = (a++, b++, a + b + c); printf("d = %d\n", d); return 0;...原创 2020-02-14 18:51:25 · 280 阅读 · 0 评论 -
统计从键盘输入的一行字符中小写字母,大写字母,数字字符和其它字符的个数。
统计从键盘输入的一行字符中小写字母,大写字母,数字字符和其它字符的个数。C语言实现 vs-2019#include<stdio.h>#include<ctype.h>int main(){ printf("Please input the number of string:"); int num = 0; int num_low = 0, num_n = ...原创 2020-02-12 19:37:02 · 13608 阅读 · 5 评论 -
C语言中穷举法实现两个数的最大公约数
vs2019#include<stdio.h>int G_cd(int a, int b){ for (int i = a > b ? a : b; i >=0 ; i--) { if (a % i == 0 && b % i == 0) { return i; } } }int main(){ printf("P...原创 2020-02-12 16:49:44 · 1057 阅读 · 0 评论 -
c语言实现两个数或三个数中的最大数
#include<stdio.h>int main(){ int a = 0, b = 0, c = 0; int mid = 0; printf("Please input 3 voca:\n"); scanf_s("%d %d %d", &a, &b, &c); int max = a > b ? a : b;//两个数中的最大数...原创 2020-02-11 10:58:40 · 581 阅读 · 0 评论 -
c语言实现链式队列的相关操作
队列是受限制的线性表,只允许在一端插入,在另一端删除#include<stdio.h>#include<malloc.h>#include<Windows.h>typedef int QElemType;typedef struct QNode{ QElemType data; struct QNode* next;}QNode,...原创 2020-01-11 17:54:46 · 182 阅读 · 0 评论 -
c语言实现栈的相关操作
栈是限定仅仅在表尾进行插入或删除操作的线性表下面的代码#include<stdio.h>#include<malloc.h>#include<stdbool.h>#include<Windows.h>//windows平台的输出端代码颜色控制#define STACT_INIT_SIZE 100//存储空间初始分配量co...原创 2020-01-10 20:20:13 · 340 阅读 · 0 评论 -
C语言实现银行贷款的问题(等额本息,等额本金)
C语言基础版本,进阶版过几天发出!欢迎大家提问!主函数: int Deng_xi(int year, int Y_z, double lilu); int Deng_jing(int year, int Y_z, double lilu); void Show(double sum); int year = 0, Y_z = 0; double lilu = 0.059, sum;...原创 2019-12-15 19:52:01 · 4967 阅读 · 0 评论 -
输入一个五位数,分别实现正序,倒序输出他的每个数(自己写的)
主体:int a = 0,b = 0; printf("请输入a的值(a为五位数):"); scanf_s("%d", &a);正序:int f = a; for (int i = 0; i <5; i++)//逆序 { b= f%10; f = f / 10; printf("%d ",b); }倒序:int c = 10000, ...原创 2019-12-15 19:43:30 · 4462 阅读 · 0 评论 -
C语言实现简易计算器
这里采用函数调用的方法实现功能:1.加减乘除函数:int Add_Int(int a, int b)//函数定义{ return a + b;}int Sub_Int(int a, int b)//函数定义{ return a - b;}int Mul_Int(int a, int b)//函数定义{ return a * b;}int Div_Int(int a...原创 2019-12-13 18:45:52 · 819 阅读 · 1 评论