
c语言
♂Mercury
这个作者很懒,什么都没留下…
展开
-
C语言函数的存储类型
C语言规定,只要在定义函数时没有对存储类型的明确描述,函数的存储类型就隐含为外部类型,即外部类型,允许在其他文件中调用函数。以下两者等价:void func();extern void func();另外,跟变量一样,C语言还有静态类型的函数,静态函数存放在静态存储区,不像普通函数调用时会被压入栈区,静态函数是不能被其它文件调用的static void func();void func();...原创 2022-05-04 16:43:57 · 2161 阅读 · 0 评论 -
计算机组成原理-数据存储与边界的关系
计算机数据存储与边界对齐的方式,存储字长,存储单元的概念原创 2022-04-05 00:05:55 · 4712 阅读 · 1 评论 -
C语言文件操作(笔记)(详细)
文章目录C语言之文件操作文件是什么打开文件和关闭文件fopen()函数fclose()函数文件的读写读文件fscanf()函数--指定类型读文件fgets()函数--读取一个字符串fgetc()函数--读取一个字符fread()函数--读取数据块(二进制方式)写入文件fputc()函数--写入字符fputs()函数--写入字符串fwrite()函数--写入数据块(二进制方式)fprintf()函数--指定类型写文件文件定位函数--随机读写文件rewind()函数--将位置指针移动到文件开头fseek()函数原创 2021-05-19 21:13:37 · 1725 阅读 · 13 评论 -
C语言学生成绩管理--链表(为了对班级学生的基本信息和C语言程序设计成绩进行管理,利用结构体变量记录每个学生的学号、姓名和C程序设计成绩。先根据用户输入的人数建立单向链表来存放学生的信息,并且输出前)
题目3.为了对班级学生的基本信息和C语言程序设计成绩进行管理,利用结构体变量记录每个学生的学号、姓名和C程序设计成绩。先根据用户输入的人数建立单向链表来存放学生的信息,并且输出前三名的成绩。结构体类型定义如下:struct student{int ID; //学生学号char name[20]; //学生姓名float score; //考试成绩struct student * pNextNode;};输入信息提示:“请输入学生人数:\n”输入原创 2021-05-19 11:11:49 · 3069 阅读 · 0 评论 -
重新认识C语言数组
数组一维数组数组名与指针变量int a; //a为标量int b[10]; //b为指针常量int *c; //c为指针变量c = a; c = &a[0]; //两者等价访问数组元素:下标引用和间接访问b[pos]; //下标引用*(b + pos); //间接访问//两者等价数组名和指针变量区别:数组名是指针常量,其值不能修改,而指针变量可以int a[10];int *p = a + 2; //p指向数组a的第二个元素,即a[2]//对p也可以进行下标访原创 2021-05-06 22:04:29 · 145 阅读 · 0 评论 -
在一个有序(按非递减顺序)的链表中插入一个元素为x的结点,使插入后的链表仍然有序(链表数据域为整型数,初始时输入6个元素)。
在一个有序(按非递减顺序)的链表中插入一个元素为x的结点,使插入后的链表仍然有序(链表数据域为整型数,初始时输入6个元素)。程序运行示例如下:输入数组6个元素的值。12 23 34 45 56 67此链表各个结点的数据域为:12 23 34 45 56 67输入要插入的数据x:36插入后链表各个结点的数据域为:12 23 34 36 45 56 67链表插入图示:代码实现:#include<stdio.h>#include<stdlib.h>typedef s原创 2021-02-18 16:13:08 · 3966 阅读 · 4 评论 -
C语言--用动态数组编程输入任意m个班学生(每班n个学生)的某门课的成绩,计算最高分,并指出具有该最高分成绩的学生是第几个班的第几个学生。其中,m和n的值由用户从键盘任意输入(不限定m和n的上限值)。
用动态数组编程输入任意m个班学生(每班n个学生)的某门课的成绩,计算最高分,并指出具有该最高分成绩的学生是第几个班的第几个学生。其中,m和n的值由用户从键盘任意输入(不限定m和n的上限值)。输入提示信息:“Input array size m,n:”“Input %d*%d array:\n”输入格式:"%d,%d"输出提示信息和格式:“maxScore = %d, class = %d, number = %d\n”#include<stdio.h>#include<std原创 2021-02-09 23:46:39 · 6052 阅读 · 1 评论 -
C语言--约瑟夫环变形---13个人围成一圈,从第1个人开始顺序报号1、2、3,凡报到3的人退出圈子。找出最后留在圈子里的人原来的序号。要求用结构体编程实现
13个人围成一圈,从第1个人开始顺序报号1、2、3,凡报到3的人退出圈子。找出最后留在圈子里的人原来的序号。要求用结构体编程实现。输出提示 “出圈成员及顺序:” 格式 “%3d”输出提示 “\n最后的成员是:” 格式 “%3d”程序的运行示例如下:出圈成员及顺序: 3 6 (后面以此类推,抱歉这里的输出结果保密,暂不公开,注意最后一个人是不出圈的哦)最后的成员是: (抱歉这里的输出结果保密,暂不公开)#include<stdio.h>struct pe原创 2021-02-08 12:17:03 · 1453 阅读 · 2 评论 -
C语言----完成对输入的字符串中C关键词的查找统计。
完成对输入的字符串中C关键词的查找统计。程序运行示例如下:本程序将为您统计C语言的关键字的个数,请输入,输入end结束输入:if do while while do break goto helloworld end您的输入中C语言关键字出现的次数统计如下:break : 1do : 2goto : 1if : 1while : 2输入格式:“本程序将为您统计C语言的关键字的个数,请原创 2021-02-07 22:41:21 · 7431 阅读 · 4 评论 -
写一个函数days,实现主函数将年、月、日(结构体类型)传递给days函数,days函数计算该年该月该日是该年的第几天并传回主函数输出
写一个函数days,实现主函数将年、月、日(结构体类型)传递给days函数,days函数计算该年该月该日是该年的第几天并传回主函数输出。程序的运行示例如下:请输入日期(年,月,日)1990,2,142月14日是1990年的第45天。输入格式:“请输入日期(年,月,日)\n”“%d,%d,%d”输出格式:“\n%d月%d日是%d年的第%d天。”代码实现:#define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h>int Month原创 2021-02-07 18:40:46 · 4080 阅读 · 1 评论 -
约瑟夫问题是个有名的问题:N个人围成一圈,从第一个开始报数,第M个将被杀掉,最后剩下一个,其余人都将被杀掉。
n个人围成一圈报数,报到m的人被杀死,最后剩下一个人,问这个人应改站在第几个位置?对这个问题有两种方法,一种用计数器去模拟报数的过程,另一种是用递归或者循环1.计数器模拟这个方法其实不是特别好,一方面是用了数组不太灵活,二是有点复杂#include<stdio.h>int main(){ int m, n; int count = 0; //用于记录被杀死的人数 int i,k = 0; //k用于当报数的计数器 int person[200] = {0}; //用数组原创 2021-02-07 00:19:05 · 4130 阅读 · 0 评论 -
产生动态数组,编写程序,输入数组大小后,通过动态分配内存函数malloc产生数组。 给数组元素赋值,数组元素的值是其下标的10倍。 **输入格式要求:“%d“ 提示信息:“Enter array si
产生动态数组,编写程序,输入数组大小后,通过动态分配内存函数malloc产生数组。 给数组元素赋值,数组元素的值是其下标的10倍。**输入格式要求:"%d" 提示信息:“Enter array size:”**输出格式要求:“array[%d]=%d\n”程序运行示例如下:Enter array size:8array[0]=0array[1]=10array[2]=20array[3]=30array[4]=40array[5]=50array[6]=60array[7]=70代原创 2021-02-06 11:31:34 · 3383 阅读 · 0 评论 -
编程统计候选人的得票数。设有3个候选人zhang、li、wang(候选人姓名不区分大小写),10个选民,选民每次输入一个得票的候选人的名字,若选民输错候选人姓名,则按废票处理。选民投票结束后程序自动显
编程统计候选人的得票数。设有3个候选人zhang、li、wang(候选人姓名不区分大小写),10个选民,选民每次输入一个得票的候选人的名字,若选民输错候选人姓名,则按废票处理。选民投票结束后程序自动显示各候选人的得票结果和废票信息。要求用结构体数组candidate表示3个候选人的姓名和得票结果。例如:Input vote 1:liInput vote 2:liInput vote 3:ZhangInput vote 4:wangInput vote 5:zhangInput vote 6:W原创 2021-02-06 00:12:17 · 11654 阅读 · 0 评论 -
*约瑟夫问题。这是十七世纪的法国数学家加斯帕在《数目的游戏问题》中讲的一个故事:15个基督教徒和15个异教徒在海上遇险,必须将一半的人投入海中,其余的人才能幸免于难,于是想了个办法:30个人围成一个圆
*约瑟夫问题。这是十七世纪的法国数学家加斯帕在《数目的游戏问题》中讲的一个故事:15个基督教徒和15个异教徒在海上遇险,必须将一半的人投入海中,其余的人才能幸免于难,于是想了个办法:30个人围成一个圆圈,从第一个人开始依次报数,每数到第9个人就将他扔入大海,如此循环进行直到仅余15个人为止。问怎样排法,才能使每次投入大海的都是异教徒。本题示例为 @ @ @ @ + + + + + @ @ + @ @ @ + @ + + @ @ + + + @ + + @ @ + (第一个人前无空格,每人中间1个空格)*原创 2021-02-05 13:09:40 · 4220 阅读 · 2 评论 -
写一个程序包含如下的函数,完成: (a) 输入current_date的值: void input_date(struct date_rec *current_date) (b) 将current_d
给定如下定义:struct date_rec{int day ;int month ;int year ;} ;struct date_rec current_date ;写一个程序包含如下的函数,完成:(a) 输入current_date的值:void input_date(struct date_rec *current_date)(b) 将current_date增加1天:void increment_date(struct date_rec *current_date)©原创 2021-02-04 09:41:22 · 1165 阅读 · 1 评论 -
给定如下定义: struct time_rec { int hours ; int mins ; int secs ; } ; struct time_rec
给定如下定义:struct time_rec{int hours ;int mins ;int secs ;} ;struct time_rec current_time ;写一个程序包含如下的函数,完成:(a) 输入current_time的值:void input_time(struct time_rec *current_time)(b) 将current_time增加1秒:void increment_time(struct time_rec *current_time)原创 2021-02-04 00:08:28 · 3127 阅读 · 0 评论 -
中国有句俗语叫“三天打鱼两天晒网”,某人从90年1月1日起开始“三天打鱼两天晒网”。问这个人在以后的某一天中是在“打渔”,还是在“晒网”. **输入格式要求:“%d%d%d“ 提示信息:“Enter
中国有句俗语叫“三天打鱼两天晒网”,某人从90年1月1日起开始“三天打鱼两天晒网”。问这个人在以后的某一天中是在“打渔”,还是在“晒网”.**输入格式要求:"%d%d%d" 提示信息:“Enter year/month/day:”**输出格式要求:“He is fishing.\n” “He is sleeping.\n”程序运行示例如下:Enter year/month/day:1990 1 5He is sleeping.答案:#define _CRT_SECURE_NO_WARNINGS原创 2021-02-03 12:50:25 · 4443 阅读 · 1 评论 -
程序改错。以下程序用于打印输出结构体数组的所有元素。
程序改错。以下程序用于打印输出结构体数组的所有元素。struct s{char name[10];int age;}main(){struct s a[3] = {”John”,19,”Paul”,17,”Marry”,18};int *p;for(p = a; p < 3; p++){ printf("%s,%d\n", p->name, p->age );}}答案:#include<stdio.h>struct s{ ch原创 2021-02-03 11:42:43 · 3189 阅读 · 0 评论 -
编程统计候选人的得票数。设有3个候选人,Li,Zhang,Fun。 要求输入投票总数n,然后每次输入一个得票的候选人的名字(区分大小写),若选民输错候选人姓名,则按废票处理。 选民投票结束后程序自动显
编程统计候选人的得票数。设有3个候选人,Li,Zhang,Fun。要求输入投票总数n,然后每次输入一个得票的候选人的名字(区分大小写),若选民输错候选人姓名,则按废票处理。选民投票结束后程序自动显示各候选人的得票结果。请通过分析和调试程序,发现并改正程序中的错误。注意:将修改后的完整的源程序写在答题区内。对于没有错误的语句,请不要修改,修改原本正确的语句也要扣分。当且仅当错误全部改正,且程序运行结果调试正确,才给加10分,如果只改正了部分错误,则不加分。#include <string原创 2021-02-03 10:42:41 · 4698 阅读 · 0 评论 -
输入一个整形数,然后按汉语的习惯,将其读出来并输出。如1052,读作:一千零五十二。 输入样例: 1052 输出样例: 一千零五十二
输入一个整形数,然后按汉语的习惯,将其读出来并输出。如1052,读作:一千零五十二。输入样例:1052输出样例:一千零五十二#include <stdio.h>#include <string.h>#include <stdlib.h>const char shuzi[10][4] = {"零", "一", "二", "三", "四", "五", "六", "七", "八", "九"};const char weishu[5][4] = {"十", "百原创 2021-02-01 00:09:15 · 1954 阅读 · 0 评论 -
C语言练习题答案--以下程序的功能是统计字符数。判断一个由’0’ ~ ‘9’这10个字符组成的字符串中哪个字符出现的次数最多。
程序改错。以下程序的功能是统计字符数。判断一个由’0’ ~ ‘9’这10个字符组成的字符串中哪个字符出现的次数最多。输入数据:第一行是测试数据的组数m,每组测试数据占1行,每行数据不超过1000个字符且非空。输出要求:m行,每行对应一组输入,包括出现次数最多的字符和该字符出现的次数。如果有多个字符出现的次数相同且最多,那么输出ASCII码最小的那一个。#include <stdio.h>#include <string.h>main( ){int cases, su原创 2021-01-31 22:17:28 · 2094 阅读 · 0 评论 -
C语言--对输入的8个字符串按照字典顺序进行排序并输出--哈尔滨工业大学练题
对输入的8个字符串(每个字符串长度不超过20)按照字典顺序进行排序并输出。不限定排序方法,不能使用goto语句。输入输出格式:输入:%s输出:%s\n输入:多个字符串用空格分隔输出:排序好的字符串,每行一个字符串,末尾有空行。输入输出样例:输入:diankuang liuxu sui fengwu qingbo taohua zhu shuiliu输出:diankuangfengwuliuxuqingboshuiliusuitaohuazhu#include<std原创 2021-01-31 20:19:47 · 5038 阅读 · 2 评论 -
C语言---strcpy函数和strncpy函数的模拟实现
C语言strcpy和strncpy的用法和区别(包括如何模拟实现)strcpy和strncpy都是字符串拷贝函数,他们的区别就是后者限制了拷贝的长度(字节大小),就像 strcpy(a , b) 是将b的内容复制然后粘贴到a里面去,a原本的内容就会被覆盖,而 strncpy(a , b , n) 也是这样,只不过多了一个参数 n,这个n就是拷贝的字节大小,假如 n为5,而b的字节大小为10(也就是长度为10),那么b只有前五个字符能被拷贝到a里面去。下面我们通过代码来理解一下他们的具体含义:#incl原创 2021-01-31 12:00:38 · 465 阅读 · 0 评论 -
C语言strlen模拟实现----求字符串长度函数
C语言求字符串长度,函数strlen的用法和模拟实现(my_strlen)的三种方法(此文章截取自我另一篇关于字符串函数详解的文章:C语言常见字符串详解——使用方法和模拟实现我们知道,字符串是以 '\0’为结尾的字符数组,其实strlen在求字符串长度时也是读取到 ‘\0’ 时结束,然后返回长度,并且strlen函数返回值是无符号整形(unsigned int)strlen的用法:#include<stdio.h>#include<string.h>int main()原创 2021-01-30 22:00:36 · 1083 阅读 · 2 评论 -
C语言--质因数分解(非常简洁的代码实现)
C语言–质因数分解(非常简洁的代码实现)这是百度上的概念:分解质因数只针对合数。(分解质因数也称分解素因数)求一个数分解质因数,要从最小的质数除起,一直除到结果为质数为止。分解质因数的算式叫短除法,和除法的性质相似,还可以用来求多个数的公因式。正文:首先,质因数分解是针对非素数的,每一个非素数可以表示成它的部分因子乘积之和(可重复)例如 28 = 2 * 2 * 7我们来看看怎么操作例如:90的公因子为2,3,5,9,10,15 ·········我们要用90从小到大除以它的公因子(注意:一个公原创 2021-01-22 18:01:33 · 55025 阅读 · 35 评论