高级语言讲义2021软专(仅高级语言部分)

2024-03-10 17:52

本文主要是介绍高级语言讲义2021软专(仅高级语言部分),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1.一个二维数组,每一行存放一个字符串,比较字符串并排序。

#include <stdio.h>int strcmp(char *str,char *flag) {int i=0;while(str[i]!='\0'&&flag[i]!='\0') {if(str[i]>flag[i])return 1;else if(str[i]<flag[i])return -1;elsei++;}if(str[i]=='\0'&&flag[i]=='\0')return 0;else if(str[i]=='\0')return -1;elsereturn 1;
}void strcpy(char *flag,char *str) {int i=0;while(str[i]!='\0') {flag[i]=str[i];i++;}flag[i]='\0';
}void sort(char st[][10],int n) {char temp[10];for(int i=0; i<n-1; i++)for(int j=0; j<n-i-1; j++)if(strcmp(st[j],st[j+1])>0) {strcpy(temp,st[j]);strcpy(st[j],st[j+1]);strcpy(st[j+1],temp);}
}int main() {char st[][10] = {"hello","world","python","C","java","R"};int n=6;sort(st,n);for(int i=0; i<n; i++)printf("%s ",st[i]);printf("\n");return 0;
}

2.一行n(n大于等于2)个框,三个颜色,每个相邻的框颜色不能相同,用递归写出有多少种方法

#include <stdio.h>
#include <stdbool.h>bool islegal(int *path,int n) {for(int i=0; i<n; i++)if(path[i]==path[i-1]||path[i]==path[i+1])return false;return true;
}void dfs(int *path,int n,int index,int *num) {if(index==n) {if(islegal(path,n))*num++;return;}for(int i=0; i<=2; i++) {path[index]=i;dfs(path,n,index+1,num);}
}int count(int n) {int path[20];int num=0;dfs(path,n,0,&num);return num;
}

3.定义结构体,链表输入学生数据,再输入到文件中。

#include <stdio.h>
#include <stdlib.h>typedef struct stu {int num;char name[20];int sex;struct stu *next;
} stu;struct stu *create(int n) {struct stu *head=(struct stu*)malloc(sizeof(struct stu));head->next=NULL;struct stu *pre=head;for(int i=0; i<n; i++) {struct stu *p=(struct stu*)malloc(sizeof(struct stu));scanf("%d",&p->num);scanf("%s",&p->name);scanf("%d",&p->sex);while(p->next!=NULL&&pre->next->num<p->num)pre=pre->next;p->next=pre->next;pre->next=p;pre=head;}return head->next;
}

4.将该链表按性别拆分为两个链表并排序,再写到两个文件中

#include <stdio.h>
#include <stdlib.h>typedef struct stu {int num;char name[20];int sex;struct stu *next;
} stu;void save(struct stu *head) {FILE *fileA,*fileB;if((fileA=fopen("man.txt","w"))==NULL) {printf("open error");exit(0);}if((fileB=fopen("woman.txt","w"))==NULL) {printf("open error");exit(0);}struct stu *p=head;struct stu *headA=(struct stu *)malloc(sizeof(struct stu));struct stu *headB=(struct stu *)malloc(sizeof(struct stu));struct stu *rearA=headA,*rearB=headB;while(p!=NULL) {struct stu *flag=p->next;if(p->sex==1) {rearA->next=p;rearA=p;fprintf(fileA,"%d %s",p->num,p->name);fprintf(fileA,"man");} else {rearB->next=p;rearB=p;fprintf(fileB,"%d %s",p->num,p->name);fprintf(fileB,"woman");}p=flag;}rearA->next=NULL;rearB->next=NULL;fclose(fileA);fclose(fileB);}

这篇关于高级语言讲义2021软专(仅高级语言部分)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/795027

相关文章

一文详解如何在Python中从字符串中提取部分内容

《一文详解如何在Python中从字符串中提取部分内容》:本文主要介绍如何在Python中从字符串中提取部分内容的相关资料,包括使用正则表达式、Pyparsing库、AST(抽象语法树)、字符串操作... 目录前言解决方案方法一:使用正则表达式方法二:使用 Pyparsing方法三:使用 AST方法四:使用字

MySQL高级查询之JOIN、子查询、窗口函数实际案例

《MySQL高级查询之JOIN、子查询、窗口函数实际案例》:本文主要介绍MySQL高级查询之JOIN、子查询、窗口函数实际案例的相关资料,JOIN用于多表关联查询,子查询用于数据筛选和过滤,窗口函... 目录前言1. JOIN(连接查询)1.1 内连接(INNER JOIN)1.2 左连接(LEFT JOI

Go 语言中的select语句详解及工作原理

《Go语言中的select语句详解及工作原理》在Go语言中,select语句是用于处理多个通道(channel)操作的一种控制结构,它类似于switch语句,本文给大家介绍Go语言中的select语... 目录Go 语言中的 select 是做什么的基本功能语法工作原理示例示例 1:监听多个通道示例 2:带

C语言函数递归实际应用举例详解

《C语言函数递归实际应用举例详解》程序调用自身的编程技巧称为递归,递归做为一种算法在程序设计语言中广泛应用,:本文主要介绍C语言函数递归实际应用举例的相关资料,文中通过代码介绍的非常详细,需要的朋... 目录前言一、递归的概念与思想二、递归的限制条件 三、递归的实际应用举例(一)求 n 的阶乘(二)顺序打印

前端高级CSS用法示例详解

《前端高级CSS用法示例详解》在前端开发中,CSS(层叠样式表)不仅是用来控制网页的外观和布局,更是实现复杂交互和动态效果的关键技术之一,随着前端技术的不断发展,CSS的用法也日益丰富和高级,本文将深... 前端高级css用法在前端开发中,CSS(层叠样式表)不仅是用来控制网页的外观和布局,更是实现复杂交

Mysql删除几亿条数据表中的部分数据的方法实现

《Mysql删除几亿条数据表中的部分数据的方法实现》在MySQL中删除一个大表中的数据时,需要特别注意操作的性能和对系统的影响,本文主要介绍了Mysql删除几亿条数据表中的部分数据的方法实现,具有一定... 目录1、需求2、方案1. 使用 DELETE 语句分批删除2. 使用 INPLACE ALTER T

C语言中的数据类型强制转换

《C语言中的数据类型强制转换》:本文主要介绍C语言中的数据类型强制转换方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录C语言数据类型强制转换自动转换强制转换类型总结C语言数据类型强制转换强制类型转换:是通过类型转换运算来实现的,主要的数据类型转换分为自动转换

利用Go语言开发文件操作工具轻松处理所有文件

《利用Go语言开发文件操作工具轻松处理所有文件》在后端开发中,文件操作是一个非常常见但又容易出错的场景,本文小编要向大家介绍一个强大的Go语言文件操作工具库,它能帮你轻松处理各种文件操作场景... 目录为什么需要这个工具?核心功能详解1. 文件/目录存javascript在性检查2. 批量创建目录3. 文件

C语言实现两个变量值交换的三种方式

《C语言实现两个变量值交换的三种方式》两个变量值的交换是编程中最常见的问题之一,以下将介绍三种变量的交换方式,其中第一种方式是最常用也是最实用的,后两种方式一般只在特殊限制下使用,需要的朋友可以参考下... 目录1.使用临时变量(推荐)2.相加和相减的方式(值较大时可能丢失数据)3.按位异或运算1.使用临时

使用C语言实现交换整数的奇数位和偶数位

《使用C语言实现交换整数的奇数位和偶数位》在C语言中,要交换一个整数的二进制位中的奇数位和偶数位,重点需要理解位操作,当我们谈论二进制位的奇数位和偶数位时,我们是指从右到左数的位置,本文给大家介绍了使... 目录一、问题描述二、解决思路三、函数实现四、宏实现五、总结一、问题描述使用C语言代码实现:将一个整