C
习题
learn 11233466
这个作者很懒,什么都没留下…
展开
-
C 多项式相加(作业)
#include <stdio.h>#include <stdlib.h>typedef struct NODE{ int coef; int expn; struct NODE *next;}node;node *creat(node *p, int n);node *addpolyn(node *pa, node *pb, node *p3);void printpolyn(node *p);int main(){ node *pa = NULL,原创 2021-09-25 13:56:48 · 133 阅读 · 0 评论 -
C 杨辉三角
#include<stdio.h>#define N 20int main(){ printf("Input n(n<20):\n"); int n,i,j; scanf("%d",&n); char three[N][N]={0}; for(i=0;i<n;i++){ three[i][0]=1; } for(i=1;i<n;i++){ for(j=1;j<=i;j++原创 2021-05-06 23:34:33 · 58 阅读 · 0 评论 -
C 二叉树:先序 中序 后序遍历
#include <stdio.h>#include <stdlib.h>#define N 20typedef struct BITNODE{ int data; struct BITNODE *lchild; struct BITNODE *rchild;}binode;binode *creattree(int *a,int n);void printnode(binode *root);int preordertraverse(bin原创 2021-04-27 21:41:30 · 106 阅读 · 0 评论 -
C 链表建立和插入操作 课堂练习
#include <stdio.h>#include <stdlib.h>typedef struct LINK{ double data; struct LINK *next;}link;link *init(link *head);void print(link *head);link *insert(link *head,double x);void destroylink(link *head);int main(){ link *原创 2021-04-27 20:34:39 · 66 阅读 · 0 评论 -
C fwrite和fread 文件相关
fwrite和fread函数用于二进制文本读写,按数据块读文件而fprintf和fscanf函数用于文本文件,以ASCII码存储的文件读写fseek函数好像也主要用于二进制文件(第二段代码如果我是文本文件,不改变fseek函数语句,会出现错误)//将内容先以二进制形式存到文件中#include <stdio.h>#include <stdlib.h>#include <string.h>typedef struct student{ long id原创 2021-04-27 14:20:55 · 366 阅读 · 1 评论 -
C 动态数组 课堂练习
题目:#include <stdio.h>#include <stdlib.h>#include <time.h>typedef struct CAT{ int skincolour; int eyescolour; int feather;}cat;char skin[3][5]={"黑色","灰色","棕色"};//中文一个字占两字节再加上'\0',一共5个字节char eye[3][5]={"绿眼","蓝眼","棕眼"};原创 2021-04-26 15:02:01 · 130 阅读 · 0 评论 -
C 文件课堂练习(随机生成点)
随机生成20个点,每按一下回车生成一个,写入文件后将其读出,并按x的值升序排序后输出#include <stdio.h>#include <stdlib.h>#include <time.h>#define N 20typedef struct point{ int x; int y;}POINT;void sort(POINT *point);void print(POINT *point);int main(){ sran原创 2021-04-26 00:37:59 · 180 阅读 · 0 评论 -
C 文件 书上练习
对函数feof()有疑惑时,可以再看一遍慕课这一节1.按字符读写文件(1)读写文件中的字符#include <stdio.h>#include <stdlib.h>#include <ctype.h>int main(){ FILE *fp; char ch; int i; if((fp=fopen("demo.bin","wb"))==NULL){ printf("failure to open demo.原创 2021-04-25 22:09:27 · 52 阅读 · 0 评论 -
C strcpy函数实现
用指针作为函数的形式参数,编写字符串复制函数。**输入格式要求:"%s" 提示信息:“Enter String:”**输出格式要求:“a=%s\nb=%s\n”程序运行示例如下:Enter String:happya=happyb=happy#include<stdio.h>#define N 50void copy(char *b,char *a);int main(){ char a[N]; char b[N]; printf("Enter Str原创 2021-04-19 23:07:39 · 538 阅读 · 0 评论 -
C 舞伴配对问题(队列)有空再改改
1.队列的链式存储结构#include <stdio.h>#include <stdlib.h>#include <ctype.h>#include <string.h>#define N 100typedef struct queue{ char name[N]; struct queue *next;}QUEUE;QUEUE *creatqueue(QUEUE *head,int *number);void dancep原创 2021-04-18 16:44:57 · 120 阅读 · 0 评论 -
C 逆波兰表达式求值
#include <stdio.h>#include <stdlib.h>#include <ctype.h>#include <string.h>#define N 20typedef struct stack{ int data[N]; int top;}STACK;void push(STACK *stack,int d);int pop(STACK *stack);int opdata(int d1,int d2,c原创 2021-04-17 23:36:04 · 223 阅读 · 0 评论 -
C 约瑟夫环
n个人围成一圈,顺序编号。从第一个人开始从1到m报数,凡报到m的人退出圈子,编程求解最后留下的人的初始编号。程序运行示例:6 3(两个输入数据之间有空格)1#include<stdio.h>#include<stdlib.h>typedef struct NODE{ int num; struct NODE *next;}node;node *init(node *head,int n);void goout(node *head,int m);原创 2021-04-17 20:27:42 · 71 阅读 · 0 评论 -
C 单向链表插入操作(这里输入数据时请按升序排序) 待完善
待完善,如何对链表进行升序排序#include <stdio.h>#include <stdlib.h>typedef struct LINK{ int data; struct LINK *next;}link;link *appendnode(link *head);void displynode(link *head);link *insernode(link *head,int nodedata);void deletememory(lin原创 2021-04-17 15:54:07 · 116 阅读 · 0 评论 -
C 单向链表的建立和删除操作
#include <stdio.h>#include <stdlib.h>typedef struct LINK{ int data; struct LINK *next;}link;link *appendnode(link *head);void displynode(link *head);link *deletenode(link *head,int nodedata);//删除节点void deletememory(link *head)原创 2021-04-17 12:51:13 · 76 阅读 · 0 评论 -
C:动态数组(可拓展)
#include <stdio.h>#include <stdlib.h>typedef struct{ int *array; int length;}DArray;DArray creat(int n);void print(DArray *p);void grow(DArray *a,int n);void release(DArray *a);int main(){ DArray a; int n; scanf(原创 2021-04-13 09:36:08 · 336 阅读 · 0 评论 -
C:功能选择菜单
年底返券那块感觉有点问题#include<stdio.h>#include<stdlib.h>#include<windows.h>#define N 20typedef struct member{ long num; char name[10]; int points; int money;}MEMBER;void printlist(MEMBER *x);int readmember(MEMBER *x);void原创 2021-04-13 00:40:37 · 1468 阅读 · 0 评论 -
C:13个人围成一圈(结构体)
这题不太会,看了别人的13个人围成一圈,从第1个人开始顺序报号1、2、3,凡报到3的人退出圈子。找出最后留在圈子里的人原来的序号。要求用结构体编程实现。程序的运行示例如下:出圈成员及顺序: 3 6 9 12 2 7 11 4 10 5 1 8最后的成员是: 13***输出提示:"\n出圈成员及顺序:"***输出格式:"%3d"***输出提示:"\n最后的成员是:"***输出格式:"%3d"#include<stdio.h>#define N 13typed原创 2021-04-12 17:52:48 · 786 阅读 · 0 评论 -
C:统计票数(字符串数组全转小写)
编程统计候选人的得票数。设有3个候选人zhang、li、wang(候选人姓名不区分大小写),10个选民,选民每次输入一个得票的候选人的名字,若选民输错候选人姓名,则按废票处理。选民投票结束后程序自动显示各候选人的得票结果和废票信息。要求用结构体数组candidate表示3个候选人的姓名和得票结果。输入提示:“Input vote %d:”输入用gets();;输出提示:“Election results:\n”输出格式为:"%8s:%d\n",“Wrong election:%d\n”例如:In原创 2021-04-12 17:12:55 · 234 阅读 · 0 评论 -
C:计算天数
写一个函数days,实现主函数将年、月、日(结构体类型)传递给days函数,days函数计算该年该月该日是该年的第几天并传回主函数输出。输入提示:“请输入日期(年,月,日)\n”输入格式:"%d,%d,%d"输出格式:"\n%d月%d日是%d年的第%d天。"程序的运行示例如下:请输入日期(年,月,日)1990,2,142月14日是1990年的第45天。#include <stdio.h>#include <stdlib.h>#define N 13typedef原创 2021-04-12 16:50:53 · 371 阅读 · 0 评论 -
C:数组指针 插入元素
使用指针插入元素,在有序(升序)的数组中插入一个数,使插入后的数组仍然有序。要求:自定义函数insert(int *a, int n, int x),用于实现向有序的数组中插入一个元素,并使插入后的数组仍然有序,参数分别表示指向数组的指针,有序数字的个数,插入的数。程序运行结果示例:输入:请输入10个有序数字 :1 3 8 9 10 12 13 45 61 90input inserting data: 11输出: 1 3 8 9 10 11 12 13原创 2021-04-11 18:09:06 · 3392 阅读 · 4 评论 -
C:指针+动态内存 错题(反思在最后)
1.写一个函数将以秒计数的时间转换为以时、分、秒计数的时间。函数原型为:char *seconds_to(int seconds)。编写main调用测试它。**输入格式要求:"%d" 提示信息:“请输入时间(秒):\n”**输出格式要求:"%d秒合计%s!\n" “%d小时%d分钟%d秒”提示:此题需要使用sprintf()函数,"%d小时%d分钟%d秒"是sprintf的输出格式。程序运行示例:请输入时间(秒):↙36053605秒合计1小时0分钟5秒!↙#include<st原创 2021-04-08 15:39:25 · 743 阅读 · 0 评论 -
C:删除字符串中相同字符
下面程序的Squeeze函数的功能是删除字符串s中所出现的与变量c相同的字符。**输入输出格式要求:无输入输出提示信息,要求可以输入带空格的字符串;按原题要求,先输入一个字符串s,回车换行后再输入字符c(c为任意字符)。请调试并改正以下程序。#include <stdio.h>void Squeeze(char *s, char c);int main(){ char a[80],c, *s; s=a; scanf("%s",s); getchar原创 2021-04-07 23:58:02 · 1501 阅读 · 0 评论 -
2021-04-07
下面程序的功能是删除字符串中第一次出现的a字符。找出其中错误,并改正之。#include <stdio.h>#include <string.h>void fun(char *x,int n,int *t) { int i,k=0; x[n]='a';x[n+1]='\0'; while(x[k]!='a')k++; if(k==n){ *t=0; } else { for(i=k;i原创 2021-04-07 13:00:09 · 182 阅读 · 0 评论 -
C 时间转化(秒化时.分.秒)
写一个函数将以秒计数的时间转换为以时、分、秒计数的时间。函数原型为:char *seconds_to(int seconds)。编写main调用测试它。**输入格式要求:"%d" 提示信息:“请输入时间(秒):\n”**输出格式要求:"%d秒合计%s!\n" “%d小时%d分钟%d秒”提示:此题需要使用sprintf()函数,"%d小时%d分钟%d秒"是sprintf的输出格式。程序运行示例:请输入时间(秒):↙36053605秒合计1小时0分钟5秒!↙#include<stdi原创 2021-04-07 12:44:21 · 4015 阅读 · 0 评论 -
2021-4-6 C 课堂练习:几点线段长度和
#include <stdio.h>#include <stdlib.h>#include <time.h>#include <math.h>#define N 10typedef struct point{ int x; int y;}POINT;void generate(POINT *p,int n);double distance(POINT *p,int n);int main(){ POINT poi原创 2021-04-06 21:01:40 · 53 阅读 · 0 评论 -
C 结构体:显示当前时间,模拟时钟
要点:1.进制转换(类比十进制)2.time(NULL)获取到的是从1970.1.1.0:0:0至now的时间差(以秒的形式)3.当键盘敲击任意键时,停止程序,避免死循环. 利用kbhit()函数,要#include<conio.h>4.system()调用命令解释器, 利用system(“cls”)实现清屏, 要#include<stdlib.h>5.Sleep()函数以毫秒为单位,Sleep(1000)延迟一秒钟, 要#include <windows.h>原创 2021-04-06 20:36:32 · 418 阅读 · 0 评论 -
C 结构体:10名选手成绩降序输出
#include <stdio.h>#include <stdlib.h>#include <time.h>#define N 10typedef struct pair{ int key; int value;}PAIR;void init(PAIR *p,int n);void sort(PAIR *p,int n);void print(PAIR *p,int n);int main(){ PAIR p[N];原创 2021-04-06 19:55:45 · 436 阅读 · 0 评论 -
C 洗牌发牌
ASCII码3,4,5,6对应的字符在我的电脑上看不到,说不定机房的电脑可以看到,过段时间去那里试试#include <stdio.h>#include <stdlib.h>#include <string.h>#include <time.h>typedef struct card{ int suit; char face[3];}CARD;void fillcard(CARD card[]);void initializ原创 2021-04-04 13:58:45 · 73 阅读 · 0 评论 -
C 书上结构体习题复盘
#include <stdio.h>#include <stdlib.h>#define N 30typedef struct date{ int year; int month; int day;}DATE;typedef struct student{ long id; char name[10]; char sex; DATE birthday; int score[4];}STUDENT;vo原创 2021-04-03 22:10:02 · 100 阅读 · 0 评论 -
C 日期转换
按如下函数原型用函数编程解决如下的日期转换问题(要求考虑闰年的问题):输入某一年的第几天,计算并输出它是这一年的第几月第几日。/* 函数功能: 对给定的某一年的第几天,计算它是这一年的第几月第几日函数入口参数:整型变量year,存储年整型变量yearDay,存储这一年的第几天函数出口参数:整型指针pMonth,指向存储这一年第几月的整型变量整型指针pDay,指向存储第几日的整型变量函数返回值: 无 */void MonthDay(int year, int yearDay, int原创 2021-03-30 23:49:29 · 1685 阅读 · 0 评论 -
C 一维动态数组
产生动态数组,编写程序,输入数组大小后,通过动态分配内存函数malloc产生数组。**输入格式要求:"%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#include<stdio.h>#原创 2021-03-29 23:56:33 · 662 阅读 · 0 评论 -
C 5个球摸3个
口袋中有若干红、黄、蓝、白、黑5种颜色的球,每次从口袋中取出3个球,定义如下指针数组,编程打印出得到3种不同颜色的球的所有可能取法。char *bColor[] = {“RED”, “YELLOW”, “BLUE”, “WHITE”, “BLACK”};输入提示信息和数据格式:无输出提示信息和数据格式:"%d:%s,%s,%s\n"#include <stdio.h>int main(){ char *bColor[] = {"RED", "YELLOW", "BLUE",原创 2021-03-29 23:24:19 · 869 阅读 · 0 评论 -
C 字符型数字转数字
#include <stdio.h>#include <stdlib.h>#include <string.h>#define N 20int reverse(char x[]);int main(){ char x[N]; long sum=0; //如果sum为int,输入-123456得不到正确结果,int取值范围:-32767~32767,溢出了 gets(x); sum=reverse(x); printf(原创 2021-03-29 20:08:26 · 88 阅读 · 0 评论