
C
♂Mercury
这个作者很懒,什么都没留下…
展开
-
C语言函数的存储类型
C语言规定,只要在定义函数时没有对存储类型的明确描述,函数的存储类型就隐含为外部类型,即外部类型,允许在其他文件中调用函数。以下两者等价:void func();extern void func();另外,跟变量一样,C语言还有静态类型的函数,静态函数存放在静态存储区,不像普通函数调用时会被压入栈区,静态函数是不能被其它文件调用的static void func();void func();...原创 2022-05-04 16:43:57 · 2161 阅读 · 0 评论 -
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 评论 -
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 评论 -
*约瑟夫问题。这是十七世纪的法国数学家加斯帕在《数目的游戏问题》中讲的一个故事: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 评论