PTA题目(C语言)
PTA
敲代码直到秃头
二本计算机专业在校生,欢迎大佬们指导
展开
-
7-9 求整数序列中出现次数最多的数
7-9 求整数序列中出现次数最多的数本题要求统计一个整型序列中出现次数最多的整数及其出现次数。原创 2022-11-12 16:29:56 · 910 阅读 · 0 评论 -
7-8 找出不是两个数组共有的元素
7-8 找出不是两个数组共有的元素原创 2022-11-12 16:29:10 · 665 阅读 · 0 评论 -
7-7 输出数组元素
7-7 输出数组元素原创 2022-11-12 16:28:25 · 380 阅读 · 0 评论 -
7-6 求一批整数中出现最多的个位数字
给定一批整数,分析每个整数的每一位数字,求出现次数最多的个位数字。例如给定3个整数1234、2345、3456,其中出现最多次数的数字是3和4,均出现了3次。原创 2022-11-12 16:27:54 · 138 阅读 · 0 评论 -
7-5 简化的插入排序
7-5 简化的插入排序原创 2022-11-12 16:27:14 · 407 阅读 · 0 评论 -
7-4 交换最小值和最大值
7-4 交换最小值和最大值原创 2022-11-12 16:26:36 · 274 阅读 · 0 评论 -
7-3 选择法排序
7-3 选择法排序原创 2022-11-12 16:25:52 · 519 阅读 · 0 评论 -
7-2 将数组中的数逆序存放
7-2 将数组中的数逆序存放原创 2022-11-12 16:25:03 · 3347 阅读 · 0 评论 -
7-1 查找整数
本题要求从输入的N个整数中查找给定的X。如果找到,输出X的位置(从0开始数);如果没有找到,输出“Not Found”。原创 2022-11-12 16:24:18 · 294 阅读 · 0 评论 -
7-2 h0107. Pig-Latin
。原创 2022-06-02 12:14:52 · 232 阅读 · 0 评论 -
7-1 均是素数
。原创 2022-06-02 12:14:01 · 1011 阅读 · 0 评论 -
6-3 批量求和(*)
。原创 2022-06-02 12:13:05 · 628 阅读 · 0 评论 -
6-2 多个整数的逆序输出-递归
,原创 2022-06-02 12:11:48 · 1128 阅读 · 0 评论 -
6-1 需要多少单词可以组成一句话?
。原创 2022-06-02 12:10:55 · 166 阅读 · 0 评论 -
6-8 有结构文件的读写1
学生类型原创 2022-06-01 16:58:20 · 1296 阅读 · 1 评论 -
6-7 文件读写操作
编写函数,从给定的输入文本文件中按行读入,并按行写入给定的输出文件中。要求:1)去除每行的前导空格或制表符。2)每行前加行号。原创 2022-06-01 16:57:02 · 378 阅读 · 0 评论 -
6-6 批量求和(*)
请编写函数,从一个文件中读取实数求和,并将结果写入另一个文件。函数原型原创 2022-06-01 16:55:55 · 872 阅读 · 0 评论 -
6-5 统计单词数量(文件)(*)
请编写函数,统计英文文章的单词数量。函数原型说明:参数 f 为文件指针。函数值为该文件的单词数量。裁判程序打开 Windows 记事本软件,复制下面的文章内容,保存文件并命名为“Story.txt”。Story.txt样例输入输出样例注:一串连续的字母被定义为一个单词。原创 2022-06-01 16:54:35 · 1312 阅读 · 0 评论 -
6-3 读文章(*)
请编写函数,从文件中读出文章,将其输出到屏幕上。函数原型void ReadArticle(FILE *f);说明:参数 f 为文件指针。函数读出 f 所指示文件中的文章,将其输出到屏幕上。裁判程序#include <stdio.h>#include <stdlib.h>void ReadArticle(FILE *f);int main(){ FILE *f; f = fopen("Article.txt", "r");原创 2022-05-28 13:56:18 · 1743 阅读 · 0 评论 -
6-3 读文章(*)
6-3 读文章(*)分数 10全屏浏览题目切换布局作者 李祥单位 湖北经济学院请编写函数,从文件中读出文章,将其输出到屏幕上。函数原型void ReadArticle(FILE *f); 说明:参数 f 为文件指针。函数读出 f 所指示文件中的文章,将其输出到屏幕上。裁判程序#include <stdio.h>#include <stdlib.h>void ReadArticle(FILE *f);int mai原创 2022-05-26 16:39:12 · 2354 阅读 · 0 评论 -
6-2 写文章(*)
6-2 写文章(*)分数10全屏浏览题目切换布局作者李祥单位湖北经济学院请编写函数,从键盘输入一篇文章,将其写入到文件中。函数原型void WriteArticle(FILE *f);说明:参数 f 为文件指针。函数从键盘输入一篇文章(由若干行文字组成,以 Ctrl+Z 结束),将其写入 f 所指示的文件中。裁判程序#include <stdio.h>#include <stdlib.h>void Write...原创 2022-05-26 16:37:50 · 2485 阅读 · 1 评论 -
6-1 从文件读取字符串(*)
6-1 从文件读取字符串(*)分数10全屏浏览题目切换布局作者李祥单位湖北经济学院请编写函数,从文件中读取字符串。函数原型void FGetStr(char *str, int size, FILE *file);说明:参数 str 为指示字符数组起始地址的指针,size 为数组尺寸,file 为文件指针。函数从文件输入的字符串(以换行符 '\n' 结束)到字符数组中,并在字符末尾添加字符串结束标记 '\0'。显然,字符串的最大长度应为 size ...原创 2022-05-26 16:35:37 · 4385 阅读 · 2 评论 -
6-6 单链表结点和
给出单链表类型定义。本题要求实现2个函数,创建单链表并统计所有结点的累加和。函数接口定义:/* 用数组arr中的arr_size个元素创建单链表,并返回链表的头指针 */struct Node* build(int* arr, int arr_size);/* 返回链表中所有结点的累加和 */int getSum(struct Node* head); 其中 arr 和 arr_size 分别表示指向数组的指针和元素个数。 arr_size 的值不超过10的范围,函数返回创建的单链原创 2022-05-26 16:34:24 · 1123 阅读 · 0 评论 -
6-8 创建、遍历链表
本题目要求实现下面三个函数,实现如下功能:输入若干个正整数,以-1结束,采取向链表中添加节点的方式来建立一个单向链表。 遍历并输出这个单向链表。函数接口定义:向链表尾部添加节点函数:struct link *AppendNode(struct link *head,int data);head:链表头节点指针,如果head为NULL,则会新建头节点data:要添加的节点data数值函数返回:添加过节点后的链表头节点指针遍历显示链表函数:void DisplyNode(struc原创 2022-05-26 16:36:13 · 453 阅读 · 0 评论 -
6-5 单链表最大值
本题要求求出单链表值最大的结点并返回。要求实现两个函数。函数接口定义:/* 建立单链表并返回单链表的头指针 */struct Node* buildLinkedList(int* arr, int n);/* 求单链表值最大的结点,返回指向最大值结点的指针。 * 若单链表为空,则返回NULL。 */struct Node* getMax(struct Node* head);其中arr存放创建单链表所需的数据(均为正整数),n 的值不超过1000; head 为不带附加头结点的单链原创 2022-05-22 20:18:55 · 2085 阅读 · 0 评论 -
6-4 建立学生信息链表
本题要求实现一个将输入的学生成绩组织成单向链表的简单函数。函数接口定义:void input();该函数利用scanf从输入中获取学生的信息,并将其组织成单向链表。链表节点结构定义如下:struct stud_node { int num; /*学号*/ char name[20]; /*姓名*/ int score; /*成绩*/ struct stud_node原创 2022-05-22 20:16:45 · 1110 阅读 · 0 评论 -
6-3 单链表结点删除
本题要求实现两个函数,分别将读入的数据存储为单链表、将链表中所有存储了某给定值的结点删除。链表结点定义如下:struct ListNode { int data; ListNode *next;};函数接口定义:struct ListNode *readlist();struct ListNode *deletem( struct ListNode *L, int m );函数readlist从标准输入读入一系列正整数,按照读入顺序建立单链表。当读到−1时表示输入结原创 2022-05-22 20:14:43 · 1884 阅读 · 0 评论 -
6-2 奇数值结点链表
本题要求实现两个函数,分别将读入的数据存储为单链表、将链表中奇数值的结点重新组成一个新的链表。链表结点定义如下struct ListNode { int data; ListNode *next;};函数接口定义:struct ListNode *readlist();struct ListNode *getodd( struct ListNode **L );函数readlist从标准输入读入一系列正整数,按照读入顺序建立单链表。当读到−1时表示输入结束,函数应返回原创 2022-05-22 20:13:24 · 407 阅读 · 0 评论 -
6-1 求单链表结点的阶乘和
本题要求实现一个函数,求单链表L结点的阶乘和。这里默认所有结点的值非负,且题目保证结果在int范围内。函数接口定义:int FactorialSum( List L );其中单链表List的定义如下:typedef struct Node *PtrToNode;struct Node { int Data; /* 存储结点数据 */ PtrToNode Next; /* 指向下一个结点的指针 */};typedef PtrToNode List; /原创 2022-05-22 20:15:17 · 1475 阅读 · 2 评论 -
7-1 C语言程序设计 实验6-1 单向链表的建立
本题目要求实现下面三个函数,实现如下功能:输入若干个正整数,以-1结束,采取向链表中添加节点的方式来建立一个单向链表。遍历并输出这个单向链表。向链表尾部添加节点函数:struct link *AppendNode(struct link *head,int data); head:链表头节点指针,如果head为NULL,则会新建头节点 data:要添加的节点data数值 函数返回:添加过节点后的链表头节点指针 遍历显示链表函数:void DisplyNo原创 2022-05-22 20:10:16 · 4027 阅读 · 0 评论 -
7-2 C语言程序设计 实验6-2 单向链表的删除
在实验6-1的新建单向链表代码基础上,增加删除节点的函数,实现在链表中删除所有节点的data 为指定数值的节点。删除节点函数接口:struct link * DeleteNode(struct link *head,int data);head是链表头节点的指针 data是要删除的节点的数值。 函数返回删除相应节点后,头节点的指针。主函数示例:#include <stdio.h>#include <stdlib.h>struct link{ .原创 2022-05-22 20:09:15 · 1958 阅读 · 1 评论 -
7-3 C语言程序设计 实验6-3 单向链表的插入
在实验6-2的单向链表代码基础上,增加插入节点的函数,实现在链表中按升序的顺序将指定的数值 data 插入相应的节点。也就是将data插入在第一个大于data的节点之前。插入节点函数接口:struct link *InsertNode(struct link *head, int data)head是链表头节点的指针 data是要插入的节点的数值。 函数返回插入相应节点后,头节点的指针。主函数示例:#include <stdio.h>#include <st.原创 2022-05-22 20:08:18 · 1291 阅读 · 0 评论 -
7-4 单链表基础应用(4)--单链表逆置
编程实现一个简易学生信息管理系统,按如下步骤分别用自定义函数实现:(1) 根据输入信息创建单链表并输出所有结点信息。每个学生的信息包括姓名和成绩;(2) 将上一步创建的单链表逆置后并输出所有结点信息。输入格式:根据输入的若干个学生信息创建单链表。每一行代表一个学生信息,以成绩-1作为输入的结束。输出格式:每个学生信息占一行,姓名和成绩之间以空格分隔,成绩保留一位小数。创建链表输出加提示信息:Original逆置后输出加提示信息:Reversed输入样例:在这里给出一组输入。例原创 2022-05-22 20:06:49 · 1590 阅读 · 1 评论 -
7-2 动态数组(需要多大内存申请多大内存)
输入整数N,再输入N个整数,将这N个整数倒序输出。(不用定义数组,用动态内存实现)输入样例:101 2 3 4 5 6 7 8 9 10输出样例:10 9 8 7 6 5 4 3 2 1输入样例:15708 417 427 843 610 838 932 978 189 981 208 618 178 872 576输出样例:576 872 178 618 208 981 189 978 932 838 610 843 427 417 708int m原创 2022-05-11 14:59:40 · 782 阅读 · 1 评论 -
7-1 动态内存中数据排序
读入整数N,再读入N个整数,将这N个整数从小到大排序后输出。(不能定义整型数组,用动态内存技术实现)输入样例:51 5 3 4 2输出样例:1 2 3 4 5int main(){int i; int N; scanf("%d",&N); int *p; p=(int *)malloc(sizeof(int)*N); for(int i=0;i<N;i++) { scanf("%d",&p[原创 2022-05-11 14:59:08 · 798 阅读 · 0 评论 -
6-4 实数数组 - 8. 数组的销毁
请编写函数,销毁动态实数数组。函数原型void ArrayDestroy(double **array);说明:array为指向动态数组起始地址指针的二级指针,size为数组尺寸。函数回收 array 所指一级指针所指示的动态实数数组的内存空间,并将该指针置为空指针(NULL)。裁判程序#include <stdio.h>#include <stdlib.h>void ArrayCreate(double **array, int size)..原创 2022-05-11 14:58:28 · 1074 阅读 · 0 评论 -
6-3 动态数组
本题要求实现一个函数:生成一个长度为n的数组,并把1~n的整数存放在里面。函数接口定义:int *getarray ( int n );参数n是生成的数组长度,函数返回生成数组的首地址。裁判测试程序样例://本程序输入n,生成动态数组,输出数组内容。#include <stdio.h>#include <malloc.h>int *getarray ( int n );int main(){ int *a=NULL,n,i;原创 2022-05-11 14:57:25 · 722 阅读 · 0 评论 -
6-2 D字符串的创建函数
D字符串是动态分配内存的字符串,它也采用char数组来保存字符串中的字符,但是这个数组是在堆中动态分配得到的。本题要求编写D字符串的创建函数。函数接口定义:char *dstr_create(const char *s);dstr_create用输入的字符串s的内容创建一个新的字符串。裁判测试程序样例:#include <stdio.h>#include <stdlib.h>#include <string.h>// 该函原创 2022-05-11 14:55:59 · 337 阅读 · 2 评论 -
6-4 结构体-查找最低分
struct student{int num ;char name[20];int score;};typedef struct student stu;有上面面学生记录类型定义,定义函数在一组学生记录中找成绩最低的学生信息,最低分唯一函数接口定义:void fun( stu a[],stu *b )数组a里存储N个学生记录,返回值是最低分记录裁判测试程序样例:在这里给出函数被调用进行测试的例子。例如:#include <stdio.h&.原创 2022-05-04 10:00:00 · 3276 阅读 · 1 评论 -
6-3 结构体-成绩单排序
定义函数处理结构体数组,按成绩从高到低降序排列。函数接口定义:struct stu { int num; char name[20]; int score; };void fun ( struct stu *p, int n );p是结构体数组的起始地址,n是结构体单元个数。结构体成员:num是学号,name是姓名,score是成绩。裁判测试程序样例:在这里给出函数被调用进行测试的例子。例如:#include <stdio.h>s原创 2022-05-04 09:00:00 · 3365 阅读 · 2 评论