![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C语言
NeonGlitch
我是一条有梦想的咸鱼
展开
-
(C语言)二叉树的创建和三种遍历输出
#include<stdio.h>#include<malloc.h>typedef char ElemType; typedef struct TreeNode *BinTree;struct TreeNode{ ElemType data; BinTree left, right;};BinTree CreateBinTree(){ //根据前序遍历创建树 char ch; BinTree BT; scanf("%c", &原创 2021-10-24 20:27:07 · 1624 阅读 · 0 评论 -
6-1 先序输出叶结点 (10 分)
本题要求按照先序遍历的顺序输出给定二叉树的叶结点。函数接口定义:void PreorderPrintLeaves( BinTree BT );函数PreorderPrintLeaves应按照先序遍历的顺序输出给定二叉树BT的叶结点,格式为一个空格跟着一个字符。**裁判测试程序样例:**#include <stdio.h>#include <stdlib.h>typedef char ElementType;typedef struct TNode *Po.原创 2021-10-20 20:15:01 · 1827 阅读 · 0 评论 -
(C语言)定长串的基本操作
定长串的下标为0的数组分量闲置不用,从下标为1的分量开始存储//定长串.cpp#include<stdio.h>#include<string.h>#define MAXLEN 255typedef struct{ char ch[MAXLEN+1]; int length;}SString, *string;//串的初始化void initString(string s){ s->length = 0;} //串的赋值void scanfSt.原创 2021-10-19 20:46:54 · 516 阅读 · 0 评论 -
(PTA)6-4 字符串整理* (10 分)
请编写函数,删除字符串的前端和后端空白字符。函数原型char* StrTrim(char *str);说明:函数将字符串 str 开始和结尾的一连串空白字符全部删去(中间的空白字符不删除),函数值为 str。提示:空白字符包括空格(SP)、水平制表(HT)、垂直制表(VT)、回车(CR)、换行(LF)、换页(FF)等。可利用 isspace 函数来判断空白字符。若 x 为空白字符,则 isspace(x) 函数值为 1(真),否则为 0(假)。要使用 isspace 函数,需要加.原创 2021-10-09 13:34:49 · 2296 阅读 · 2 评论 -
(数据结构)顺序表部分实现
顺序表.cpp#include<stdio.h>#include<stdlib.h>#define MAXSIZE 100typedef int ElemType;typedef struct { ElemType *elem; //基地址指针 int length; //顺序表长度}SqList;void InitList(SqList &L){//顺序表的初始化 L.elem = new ElemType[MAXSIZE]; if(.原创 2021-10-09 12:59:15 · 236 阅读 · 0 评论 -
C语言实验九------心理测试试题
某心理测试试题全部由单选题组成,每个题目有3个选项,不同选项得分不同,答案和分数保存在一个文件中,格式为:1A10B20C302A20B10C303A10B30C204A10B10C105A30B20C106A10B20C30其中,前面的数字为题号。从键盘输入某位考生的答案,例如:ABCC······输出该考生的成绩#include<stdio.h>#include<stdlib.h>#include<string.h>int main(){.原创 2021-04-17 09:28:14 · 2257 阅读 · 1 评论 -
C语言函数库之字符串比较函数(string.h)
1.字符串比较函数strcmp函数定义:int strcmp(const char *str1, const char *str2);函数功能:按顺序比较两个字符串,返回整数值的意义如下:小于0,str1小于str2;等于0,str1等于str2;大于0,str1大于str2;举例:#include<string.h>int main(){ int n; char str1[66]; char str2[66]; printf("请输入字符串:\n"); get.原创 2021-01-29 12:16:24 · 13277 阅读 · 0 评论 -
C语言函数库之字符串连接函数(string.h)
1.字符串连接函数strcat函数定义:char *strcat(char *str1, const char *str2); 函数功能:把str2(包括'\0')拷贝到str1的尾部(连接),并返回str1。其中终止原str1的'\0'被str2的第一个字符覆盖。举例:#include<stdio.h>#include<string.h>int main(){ char str1[66]; char str2[66]; printf("请输入字符串:\n").原创 2021-01-29 11:49:18 · 13126 阅读 · 2 评论 -
C语言函数库之字符串拷贝函数(string.h)
1.字符串拷贝函数strcpy函数定义: char *strcpy(char *str1, const char *str2);函数功能:把字符串str2(包括'\0')拷贝到字符串str1当中,并返回str1。举例:#include<stdio.h>#include<string.h>int main(){ char str1[66]; char str2[66]; printf("请给str2输入字符串:\n"); gets(str2); strcp.原创 2021-01-29 11:29:40 · 5145 阅读 · 0 评论 -
(函数)6-8 简单阶乘计算 (10分)
本题要求实现一个计算非负整数阶乘的简单函数。函数接口定义:int Factorial( const int N );其中N是用户传入的参数,其值不超过12。如果N是非负整数,则该函数必须返回N的阶乘,否则返回0。裁判测试程序样例:#include <stdio.h>int Factorial( const int N );int main(){ int N, NF; scanf("%d", &N); NF = Factori.原创 2021-01-28 20:48:28 · 338 阅读 · 0 评论 -
C语言常用排序算法---插入法排序
4.插入法排序#include<stdio.h> //头文件 int main(){//主函数 int i, n; int a[999]; int iTemp, iPos; //输入 printf("请输入需要排序的元素的个数:\n"); scanf("%d", &n); printf("请输入需要排序的元素:\n"); for (i=0; i<n; i++){ scanf("%d", &a[i]); } //排序 for (i=1.原创 2021-01-24 11:30:58 · 398 阅读 · 0 评论 -
C语言常见排序算法---交换法排序
3.交换法排序#include<stdio.h> //头文件 int main(){//主函数 int i, j, n; int a[999]; int iTemp; //输入 printf("请输入需要排序的元素的个数:\n"); scanf("%d", &n); printf("请输入需要排序的元素:\n"); for (i=0; i<n; i++){ scanf("%d", &a[i]); } //排序 for (i=0; i.原创 2021-01-24 11:19:05 · 1408 阅读 · 0 评论 -
C语言常见排序算法---冒泡法排序
2.冒泡法排序#include<stdio.h> //头文件 int main(){//主函数 int i, j, n; int a[999]; int iTemp; //输入 printf("请输入需要排序的元素的个数:\n"); scanf("%d", &n); printf("请输入需要排序的元素:\n"); for (i=0; i<n; i++){ scanf("%d", &a[i]); } //排序 for (i=1; i.原创 2021-01-24 11:08:40 · 221 阅读 · 0 评论 -
C语言常见排序算法---选择法排序
1.选择法排序#include<stdio.h>//头文件 int main(){//主函数 int i, j, n; int a[999]; int iTemp; int iPos;//位置 //输入 printf("请输入要排序的个数:\n"); scanf("%d", &n); printf("为数组元素赋值:\n"); for (i=0; i<n; i++){ scanf("%d", &a[i]); } //排序 for.原创 2021-01-24 10:49:05 · 432 阅读 · 0 评论 -
C语言上机实验九------输入考生答案输出成绩
某次考试全部由单选题组成,标准答案保存在一个文件中,格式为:1A2B3A4C5B6D······50B···········其中,数字为题号,字母为答案。从键盘输入某位考生的答案,例如:ABCC······输出该考生的成绩。假定每个题目答案正确得1分,错误得0分。#include<stdio.h>#include<stdlib.h>#include<string.h>int main(){ FILE* fp; int i,j,score=0; c.原创 2021-01-23 11:39:50 · 828 阅读 · 0 评论 -
现要为某一个销售部门编写一个程序管理约100种商品。要求设计一个结构体类型来描述商品,每种商品包括商品编号(如A001)、商品名称、商品销售量和商品销售额等信息,并编写以下函数···········
原题:现要为某一个销售部门编写一个程序管理约100种商品。要求设计一个结构体类型来描述商品,每种商品包括商品编号(如A001)、商品名称、商品销售量和商品销售额等信息,并编写以下函数:1.编写一个函数输入所有商品的信息2.编写一个函数对商品进行排序,排序规则如下:首先按照商品销售额排降序;如果商品销售额相同,则再按照商品销售量排升序3.编写一个函数将所有商品信息保存到一个二进制文件中4.编写一个函数读取二进制文件中的所有商品信息5.编写一个函数search_no(char *pNo),根据商品编.原创 2021-01-22 21:12:47 · 2313 阅读 · 1 评论 -
7-11 以‘#’结束的字符串中每种数字字符的个数和其它字符的个数 (20分)
统计从键盘上输入的以‘#’结束的字符串中每种数字字符的个数和其它字符的个数输入格式:在一行中输入以‘#’结束的若干个字符。不要出现换行符,空格,制表符。输出格式:在一行中按照“digiter=各个数字字符个数”顺序输出,每个个数值输出占2列。 在下一行中按照“other=其它字符个数”顺序输出,其它字符个数原样输出,没有列宽控制。输入样例:232235fg#输出样例:digiter= 0 0 3 2 0 1 0 0 0 0other=2#include<stdi.原创 2021-01-20 18:51:51 · 1788 阅读 · 1 评论 -
7-5 字符串连接 (15分)
从键盘输入两个字符串,将第二个字符串连接在第一个字符串的末尾,然后输出连接后的字符串。要求不能使用strcat函数。输入格式:输入只有一行,为两个字符串,中间用空格隔开。每个字符串的长度都不超过100。输出格式:输出只有一行,为连接后的字符串。输入样例:hello world输出样例:helloworld代码:#include<stdio.h>#include<string.h>int main(){ char ch1[110],c.原创 2021-01-20 17:36:54 · 4042 阅读 · 0 评论 -
7-4 找出3个字符串中最大的字符串 (10分)设计函数解决
利用3×20的二维字符数组存放3个字符串,找出其中最大的字符串并输出。输入格式:在3行分别输入3个字符串,在字符串中不要出现换行符,空格,制表符输出格式:在两行中按照“The largest string is:(换行)最大字符串”的顺序输出。输入样例:asqwerzxc输出样例:The largest string is:zxc设计一个函数比较字符串的大小1.常见字符串处理函数strcpy#include <string.h>char *.原创 2021-01-20 15:21:53 · 3777 阅读 · 1 评论 -
7-2 判断字符串结尾方式 (16分)
输入2个字符串,判断其中一个字符串是否是以另一个字符串结尾输入格式:输入2行,每行一个字符串数据输出格式:如果第1个字符串以第2个字符串结尾,输出第2个字符串 如果第2个字符串以第1个字符串结尾,输出第1个字符串 如果两个字符串互为对方的结尾字符,输出’all’ 如果都不满足,输出’no’输入样例:abc123123输出样例:123#include<stdio.h>#include<string.h>int main(){ char.原创 2021-01-20 14:31:32 · 933 阅读 · 0 评论 -
7-7 A-B (20分)
本题要求你计算A−B。不过麻烦的是,A和B都是字符串 —— 即从字符串A中把字符串B所包含的字符全删掉,剩下的字符组成的就是字符串A−B。输入格式:输入在2行中先后给出字符串A和B。两字符串的长度都不超过10^4 ,并且保证每个字符串都是由可见的ASCII码和空白字符组成,最后以换行符结束。输出格式:在一行中打印出A−B的结果字符串。输入样例:I love GPLT! It’s a fun game!aeiou输出样例:I lv GPLT! It’s fn gm!.原创 2021-01-19 17:26:39 · 206 阅读 · 0 评论 -
声明一个简单的结构类型表示学生成绩,编写函数,将该结构体类型变量作为函数的参数
#include<stdio.h>struct student{ char name[20]; float score[3];}student={"susan",98.5,87,99};void Display(struct student stu){ printf("-----information-----\n"); printf("name:%s\n",stu.name); printf("chinese:%.2f\n",stu.score[0]); printf("m原创 2021-01-19 17:03:58 · 495 阅读 · 0 评论 -
7-9 跟奥巴马一起画方块 (15分)
美国总统奥巴马不仅呼吁所有人都学习编程,甚至以身作则编写代码,成为美国历史上首位编写计算机代码的总统。2014年底,为庆祝“计算机科学教育周”正式启动,奥巴马编写了很简单的计算机代码:在屏幕上画一个正方形。现在你也跟他一起画吧!输入格式:输入在一行中给出正方形边长N(3≤N≤21)和组成正方形边的某种字符C,间隔一个空格。输出格式:输出由给定字符C画出的正方形。但是注意到行间距比列间距大,所以为了让结果看上去更像正方形,我们输出的行数实际上是列数的50%(四舍五入取整)。输入样例:.原创 2021-01-19 12:07:50 · 446 阅读 · 0 评论 -
按字母顺序排序
实现对表示12个月份的英文单词按字母顺序进行排序#include<stdio.h>#include<string.h>sort(char *strings[],int n){ char *temp; int i,j; for(i=0;i<n;i++){ for(j=i+1;j<n;j++){ if(strcmp(strings[i],strings[j])>0){ temp=strings[i]; strings[i]=st.原创 2021-01-18 12:44:31 · 767 阅读 · 0 评论 -
编写程序,读取一个字符串,然后判断这个字符串是否为回文(忽略非字母符号和字母大小写后,从左向右读和从右向左读完全一样)
编写程序,读取一个字符串,然后判断这个字符串是否为回文(忽略非字母符号和字母大小写后,从左向右读和从右向左读完全一样)。例如:He lived as 56 * a devil, eh?是一个回文。要求用指针实现。#include <stdio.h>int judge2(char a, char b){ if(a==b) return 0; else if(a<b)//忽略大小写的区别 return b-a-32; else return.原创 2021-01-01 15:58:59 · 1773 阅读 · 0 评论 -
输入一个n位数(n>=3),找出其中3个连续的数字构成的数中最大的那一个
输入一个n位数(n>=3),找出其中3个连续的数字构成的数中最大的那一个。例如,输入26895,则三个连续的数字构成的数是:268、689、895,其中最大的是895。#include <stdio.h>void find(const char *s){ int i,flag=0; const char *p=s,*max=s;//用max记录最大值的首地址 p++; while(*(p+2)!='\0'){ if(*max<*p) //得到当前第一位的最大值 .原创 2020-12-30 19:01:27 · 1028 阅读 · 0 评论 -
编写一个函数str_cat,实现函数strcat的功能(要求用指针实现)
直接见代码#include <stdio.h>void str_cat(char* ch1,char* ch2){ while(*ch1!='\0') ch1++; while(*ch2!='\0'){ *ch1=*ch2; ch1++; ch2++; }}int main(){ char ch1[666]; char ch2[233]; gets(ch1); gets(ch2); str_cat(ch1,ch2); puts(ch1); return原创 2020-12-28 19:39:02 · 2946 阅读 · 0 评论 -
编写一个函数void deleteChar(char *s, char c),在字符串s中删除字符c。如果该字符不存在,则什么都不做
编写一个函数void deleteChar(char *s, char c),在字符串s中删除字符c。如果该字符不存在,则什么都不做。例如,在"Duang Huan"中删除了’u’后,变成了字符串"Dang Han"。利用指针进行解决#include <stdio.h>void deleteChar(char* s, char c){ int k=1; char *p=s; while(*p!=c&&*p!='\0') p++; while(*p!='\0.原创 2020-12-28 19:19:01 · 3570 阅读 · 0 评论 -
在冒泡排序中,需要比较相邻的两个元素的大小,并决定是否需要交换。改写冒泡排序的程序,其中至少包含两个函数:bubble_sort(int a[], int n)和swap
这里是在冒泡排序中,需要比较相邻的两个元素的大小,并决定是否需要交换。改写冒泡排序的程序,其中至少包含两个函数:bubble_sort(int a[], int n)和swap,bubble_sort用于将数组a中的n个元素排序,其中调用函数swap来交换两个数引用#include <stdio.h>void swap(int *a,int *b){ int temp; temp=*a; *a=*b; *b=temp;}void bubble_sort (int a[],i.原创 2020-12-28 18:03:31 · 468 阅读 · 2 评论 -
完全用指针操作,向一个数组输入10个值,并输出其中的最大值及其下标
直接上代码#include<stdio.h>int main(){ int *p; int a[10],i,t; for(i=0;i<=9;i++){ scanf("%d",&a[i]);//输入10个元素 } p=&a[0]; for(i=1;i<=9;i++){ if(a[i]>*p){ p=&a[i];//指针指向最大值 t=i;//记录最大值的下标 } } printf("最大值a[%d]=%d",t,原创 2020-12-28 14:42:42 · 5515 阅读 · 3 评论 -
写一个递归程序,计算组合数
写一个递归程序,计算:#include<stdio.h>int recur(int m,int n){ if(n==0) return 1; if(n==1) return m; if(m<2*n)return recur(m,m-n); else return recur(m-1,n)+recur(m-1,n-1);}int main(){ int a,b; scanf("%d %d",&a,&b); pr原创 2020-12-16 21:41:40 · 1123 阅读 · 0 评论 -
C语言简单求和练习及答案
求N分之一序列前N项和本题要求编写程序,计算序列 1 + 1/2 + 1/3 + … 的前N项之和。输入格式:输入在一行中给出一个正整数N。输出格式:在一行中按照“sum = S”的格式输出部分和的值S,精确到小数点后6位。题目保证计算结果不超过双精度范围。输入样例:6输出样例:sum = 2.450000#include <stdio.h>int main(){ int i,n; double sum=0; scanf("%d",原创 2020-12-12 21:48:00 · 2586 阅读 · 0 评论 -
吃火锅的C语言解法
以上图片来自微信朋友圈:这种天气你有什么破事打电话给我基本没用。但是如果你说“吃火锅”,那就厉害了,我们的故事就开始了。本题要求你实现一个程序,自动检查你朋友给你发来的信息里有没有 chi1 huo3 guo1。输入格式:输入每行给出一句不超过 80 个字符的、以回车结尾的朋友信息,信息为非空字符串,仅包括字母、数字、空格、可见的半角标点符号。当读到某一行只有一个英文句点 . 时,输入结束,此行不算在朋友信息里。——————————————————————输出格式:首先在一行中输出朋..原创 2020-12-12 21:00:58 · 3453 阅读 · 2 评论 -
洛希极限
洛希极限(Roche limit)是一个天体自身的引力与第二个天体造成的潮汐力相等时的距离。当两个天体的距离少于洛希极限,天体就会倾向碎散,继而成为第二个天体的环。它以首位计算这个极限的人爱德华·洛希命名。(摘自百度百科)大天体密度与小天体的密度的比值开 3 次方后,再乘以大天体的半径以及一个倍数(流体对应的倍数是 2.455,刚体对应的倍数是 1.26),就是洛希极限的值。例如木星与地球的密度比值开 3 次方是 0.622,如果假设地球是流体,那么洛希极限就是 0.622×2.455=1.52701 .原创 2020-12-12 20:52:32 · 4572 阅读 · 0 评论 -
有理数比较
本题要求编写程序,比较两个有理数的大小。输入格式:输入在一行中按照“a1/b1 a2/b2”的格式给出两个分数形式的有理数,其中分子和分母全是整形范围内的正整数。输出格式:在一行中按照“a1/b1 关系符 a2/b2”的格式输出两个有理数的关系。其中“>”表示“大于”,“<”表示“小于”,“=”表示“等于”。#include <stdio.h>int main(){ float x1,x2; int a1,b1,a2,b2; scanf("%d/原创 2020-12-12 20:46:46 · 3647 阅读 · 0 评论 -
C语言实验分支结构练习及答案
(1) 设计程序计算下面函数的值。#include <stdio.h>int main(){ float x,result; scanf("%f",&x); if(x*x-9==0) result=0; if(x*x-9>0) result=x*x; if(x*x-9<0) result=-x*x; printf("%f",result); return 0;}原创 2020-12-12 20:19:27 · 3025 阅读 · 0 评论 -
编写函数digit(int n, int k),返回正整数n中的第k位数字(从右边算起)··········
编写函数digit(int n, int k),返回正整数n中的第k位数字(从右边算起)。例如,digit(256,1)返回6,digit(256,3)返回2。如果k大于n的数字位数,则返回-1,如digit(256,4)#include<stdio.h>int digit(int n,int k){ int i,a,count=0,copy_n; copy_n=n; while(copy_n!=0){ copy_n/=10; coun原创 2020-12-12 15:57:01 · 7372 阅读 · 2 评论 -
编写一个函数判定给定的一个数是否属于Fibonacci数列中的一项,函数的返回值为0(不属于)或者1(属于)
编写一个函数判定给定的一个数是否属于Fibonacci数列中的一项,函数的返回值为0(不属于)或者1(属于)#include<stdio.h>int belong(int n){ int a=1,b=1,c=2; while(c<n){ c=a+b; a=b; b=c; } if(n==c||n==1) return 1; else return 0;}int m原创 2020-12-12 15:40:47 · 901 阅读 · 0 评论