
C语言
qfl_sdu
承接各类C/C++项目
展开
-
C/C++函数传参详解
C/C++中传参问题,传值和传址的区别原创 2022-10-13 11:11:53 · 925 阅读 · 2 评论 -
C/C++不同编译器下自增++(自减--)运算顺序
编译器是人创造的,不同的人有不同的逻辑,也就导致不同编译器下自增和自减处理逻辑的不同。举例说明不同编译器下,自增运算符的处理逻辑(自减也是一样的):int i=3;int m=3;int p = (i++)+(i++)+(i++);int q = (++m)+(++m)+(++m); visual studio中的处理方式: ++在变量后面的时候,先处理其他算式,最后再计算++,所以,p = (i++)+(i++)+(i++)就等价于:p = i+i+i = 3+3+3=9;i原创 2022-03-24 09:22:52 · 2021 阅读 · 1 评论 -
基于链表的机票订购系统(C/C++)
基于链表实现的机票订购系统原创 2022-03-17 16:45:54 · 6701 阅读 · 16 评论 -
C语言商品订购系统(跟购物系统有些差别)
要求1.输入商品信息并保存至文件(包括商品编号、商品名称、商品型号、商品价格、商品产地、库存数量和已订购数量等,至少包括10种产品供顾客选择)。2.使用链表实现商品的增、删、改功能,并把更新后的信息保存至文件。3.查询商品功能,如输入商品名称、商品型号等。4.选购流程:所选商品编号—列出对应商品的信息—要求顾客输入邮寄地址信息—确认订购,是否继续选购其它商品,列出所有选订商品,再次确认订购。5.订购信息保存至文件。6.每天订购统计功能,并能根据输入的数据显示低于或高于此数据的商品信息。(这原创 2021-12-30 12:58:10 · 3730 阅读 · 6 评论 -
M个人进N个检票口,最短时间问题
问题来源:优快云问答问题描述:描述A学校共派出M名选手参加NOIP,现在他们正赶往火车站参加比赛。火车站共有N个检票口。由于检票员的操作速度不同,每个检票口的通行速度也就不同。平均测量,第k个检票口的速度为Tk秒。在候车时,选手们就开始思考,假设一开始所有检票口都处于准备状态,每个检票口一次只能通过一人。那么M名选手至少需要多少时间全部通过检票口。输入第1行:用空格隔开的两个整数N、M,1≤N≤103、1≤M≤109),分别表示检票口数量以及人数。接下来的N行,每行一个整数,表示每个原创 2021-07-15 16:01:03 · 712 阅读 · 0 评论 -
取石子游戏(C/C++)
描述设计一个系统模拟取石子游戏,基本功能包系括:设置,开始游戏。取石子游戏是一个博弈类游戏。有一堆石子,两个人分别从其中取石子,每次只能取1个、2个或3个,谁取到最后一个便输。一级菜单显示“1.设置、 2.开始游戏3.退出”。用户输入自己的选择后,进入相应的二级菜单。比如,选择“2”,则进入“游戏”模块:当用户选择“3”时,退出系统。用户选择“1”时,二级菜单显示“石子总数”,要求用户输入石子综述,比如输入“57”,则游戏中的石子总数便为57个。用户选择“2”时,游戏开始。两人分别输入要取的...原创 2021-07-13 15:56:22 · 2915 阅读 · 1 评论 -
个人笔记(小知识、小技巧)
1.cin输入错误while(1){ int id = 0; cin >> id; if (cin.fail()) { cin.clear(); cin.sync(); cout << "输入不合法,请重新输入"; continue; } if(id <= 0) //判断是否是正数,这个可以根据需要调整 { cout << "输入为负数,请重新输入"; } else break;}2...原创 2021-07-13 14:51:15 · 158 阅读 · 0 评论 -
使用队列求集合的交集、并集、差集
代码:#include <stdio.h>#include <stdlib.h>struct DataSetQueue { double val; DataSetQueue* next;};//显示队列void show(struct DataSetQueue* head){ struct DataSetQueue* p = head; while(p) { printf("%g ",p->val); p = p->next;原创 2021-07-07 14:44:05 · 455 阅读 · 1 评论 -
左三角螺旋矩阵
数据:代码#include <stdio.h>#include <stdlib.h>void fun(int **a, int sx,int sy,int n,int start){ int i,j; for (i=0;i<n;i++) { for (j=0;j<n;j++) { if(i==j) a[sx+i][sy+j] = start + i; else if(i==n-1) a[sx+i][s原创 2021-07-06 19:01:06 · 104 阅读 · 0 评论 -
读文件并统计单词数量C语言版本
#include <stdio.h>#include <string.h>#include <ctype.h>struct WordNode{ char word[30]; int nmb; WordNode* next; WordNode(){next = 0;}};class WordCount{public: WordCount(){head = 0;} ~WordCount() { WordNode* node = 0;原创 2021-07-02 09:42:54 · 902 阅读 · 3 评论 -
单向链表的创建及简单使用(以学生管理为例,持续更新)
功能1.创建链表2.查找3.遍历代码#include <stdio.h>#include <stdlib.h>#include <string.h>struct StNode{ int num; char name[20]; int score; StNode* next;};int main(){ int num,score,i; char name[20]={0}; struct StNode* head,*tm原创 2021-06-29 09:55:02 · 1081 阅读 · 1 评论 -
学生成绩管理系统
功能1.从文件中读取数据2.按照平均分排名,并写入文件,按照学号排序,写入文件3.统计每门课程的平均分,统计各分数段的人数,写入文件4.打印成绩条5.显示不及格学生信息,写入文件6.显示优等生信息,写入文件代码#include <stdio.h>#include <string.h>#include <stdlib.h>//定义学生的最大数量#define MAXNMB 50//定义课程数量#define NMBKC 5st原创 2021-06-24 13:51:03 · 1847 阅读 · 0 评论 -
字符查找、统计、文本修改
功能描述1.从文件中逐行读取内容,并统计字母个数、数字个数、空格个数以及文本总字符数2.查找某个字符串出现的次数3.删除某个字符串,并替换原文件的内容(问题来源优快云问答)代码#include <stdio.h>#include <string.h>#include <ctype.h>#define N 20//查找big中出现smal的次数void findstr(char*big ,char* smal,int pos[],i原创 2021-06-23 01:19:31 · 282 阅读 · 0 评论 -
电话薄小系统
功能1.信息的录入2.电话查找代码#include <stdio.h>#include <string.h>#include <process.h>struct Telephone{ char name[20]; char number[12];};//录入信息void Input(struct Telephone a[],int *n){ int i = 0; printf("请输入姓名和手机号(#号结束):"); whil原创 2021-06-22 09:53:16 · 184 阅读 · 0 评论 -
学生管理系统
功能1.录入学生信息2.添加学生信息3.删除学生信息4.统计学生平均分5.统计课程平均分6.按平均分排序7.数据写入文件代码#include <stdio.h>#include <string.h>#include <stdlib.h>#define M 20#define N 3struct Student{ int nmb; //学号 char name[20]; //姓名 int score[N原创 2021-06-22 01:18:39 · 1996 阅读 · 4 评论 -
简易工资管理系统
功能来源:优快云问答代码#include <stdio.h>#include <string.h>#define MAXNMB 100#include <process.h>//定义三个职称:经理、组长、普通员工enum EZhicheng{ e_jingli=1, e_zuzhang, e_putong};//定义部门:销售部门、研发部门、售后部门enum EPartment{ e_part_xs=1, e_part_yf, e原创 2021-06-18 17:00:25 · 535 阅读 · 0 评论 -
超市收银系统
功能来源:优快云问答碰到2个人问这个问题,这里记录一下。开发一个简单的超市收银系统,要求1、定义结构体数组,条目包含商品名称,单价,条形码;2、结帐时,输入每件商品的名称或条形码,输入数量,最后输出所有商品的总价格;3、顾客付款后,给出找零金额;4、结帐时,一旦发现商品数量有误,可以修改数量或删除相应的商品;代码#include <stdio.h>#include <string.h>#define MAXNMB 20struct StProduct{原创 2021-06-17 22:27:15 · 1655 阅读 · 2 评论 -
简易学生管理系统2
功能来源:优快云问答1.定义一个结构体数组,存放10个学生的学号,姓名,三门课的成绩2.从键盘输入10个学生的以上内容3.输出单门课成绩最高的学生的学号、姓名、以及该门课程的成绩4.输出三门课程的平均分数最高的学生的学号、姓名及其平均分5.将10个学生按照平均分数从高到低进行排序,输出结果,格式如下所示:number name math Chinese English average103 tom 90 90 100原创 2021-06-17 18:37:00 · 466 阅读 · 0 评论 -
M个孩子分N件物品
描述题目来源:优快云问答30个孩子,有15个冰淇淋,15个草莓,30个孩子围成一圈,从1开始报数,数到9的孩子分到一个冰淇淋,下一个孩子从1开始数,直到15个冰淇淋全部分完。跟猴子选大王一个道理,差别是猴子最后只剩下一个,道理是相同的。代码#include <stdio.h>//判断数组中元素等于1的个数是否等于mint isHalf(int a[],int n,int m){ int i,nmb = 0; for (i = 0;i<n;i++) { if(a原创 2021-06-17 01:48:21 · 323 阅读 · 0 评论 -
神奇数字-回文数的形成
回文数形如“abcdcba"的数称为回文数,正读反读都是一个数。代码#include <stdio.h>#include <stdlib.h>int main(){ int n,i; int tmp; int ss; char* p = 0; printf("请输入回文数的长度:"); scanf("%d",&n); p = (char*)malloc(n+1); if (n%2 == 0) { ss = n/2; }else ss =原创 2021-06-16 16:54:44 · 328 阅读 · 0 评论 -
学生管理系统
功能1.学生信息录入2.学生信息修改3.学生成绩排序4.课程平均分统计代码#include <stdio.h>#include <stdlib.h>#include <string.h>//定义课程数量#define NMBKC 3struct Student{ int id; //学号 char name[20]; //姓名 float score[NMBKC];//成绩 float total; //总分 float原创 2021-06-16 11:59:50 · 406 阅读 · 0 评论