
浙江大学PTA-C语言程序设计基础
大一学习C语言编程
_Song_
zju-cs-20-song
展开
-
浙大大学 PTA C语言程序设计 链表逆置
6-7 链表逆置 (20 point(s))本题要求实现一个函数,将给定单向链表逆置,即表头置为表尾,表尾置为表头。链表结点定义如下:struct ListNode {int data;struct ListNode *next;};函数接口定义:struct ListNode *reverse( struct ListNode *head );其中head是用户传入的链表的头指针;函数reverse将链表head逆置,并返回结果链表的头指针。裁判测试程序样例:#include &l.原创 2021-03-25 22:25:41 · 1228 阅读 · 0 评论 -
浙大大学 PTA 奇数值结点链表
6-5 奇数值结点链表 (20 point(s))本题要求实现两个函数,分别将读入的数据存储为单链表、将链表中奇数值的结点重新组成一个新的链表。链表结点定义如下:struct ListNode {int data;ListNode *next;};函数接口定义:struct ListNode *readlist();struct ListNode *getodd( struct ListNode **L );函数readlist从标准输入读入一系列正整数,按照读入顺序建立单链表。当读到.原创 2021-03-25 21:55:04 · 878 阅读 · 0 评论 -
浙大大学 PTA 单链表结点删除
6-6 单链表结点删除 (20 point(s))本题要求实现两个函数,分别将读入的数据存储为单链表、将链表中所有存储了某给定值的结点删除。链表结点定义如下:struct ListNode {int data;ListNode *next;};函数接口定义:struct ListNode *readlist();struct ListNode *deletem( struct ListNode *L, int m );函数readlist从标准输入读入一系列正整数,按照读入顺序建立单链.原创 2021-03-25 16:34:30 · 1904 阅读 · 0 评论 -
浙大大学 PTA 6-4 链表拼接
6-4 链表拼接 (20 point(s))本题要求实现一个合并两个有序链表的简单函数。链表结点定义如下:struct ListNode {int data;struct ListNode *next;};函数接口定义:struct ListNode *mergelists(struct ListNode *list1, struct ListNode *list2);其中list1和list2是用户传入的两个按data升序链接的链表的头指针;函数mergelists将两个链表合并成一个.原创 2021-03-25 15:44:34 · 1585 阅读 · 0 评论 -
浙江大学 PTA 6-8 十进制转换二进制
6-8 十进制转换二进制本题要求实现一个函数,将正整数n转换为二进制后输出。函数接口定义:void dectobin( int n );函数dectobin应在一行中打印出二进制的n。建议用递归实现。裁判测试程序样例:#include <stdio.h>void dectobin( int n );int main(){ int n; scanf("%d", &n); dectobin(n); return 0;}/*.原创 2021-03-06 10:58:29 · 1424 阅读 · 0 评论 -
浙江大学 PTA 递归实现顺序输出整数
6-5 递归实现顺序输出整数 (15 point(s))本题要求实现一个函数,对一个整数进行按位顺序输出。函数接口定义:void printdigits( int n );函数printdigits应将n的每一位数字从高位到低位顺序打印出来,每位数字占一行。裁判测试程序样例:#include <stdio.h>void printdigits( int n );int main(){ int n; scanf("%d", &n); p.原创 2021-03-05 12:38:43 · 1810 阅读 · 2 评论 -
浙江大学 PTA 数据结构与算法 最大子列和问题
7-1 最大子列和问题 (20 point(s))给定K个整数组成的序列{ N1 , N2 , …, NK },“连续子列”被定义为{ Ni , Ni+1 , …, Nj },其中 1≤i≤j≤K。“最大子列和”则被定义为所有连续子列元素的和中最大者。例如给定序列{ -2, 11, -4, 13, -5, -2 },其连续子列{ 11, -4, 13 }有最大的和20。现要求你编写程序,计算给定整数序列的最大子列和。本题旨在测试各种不同.原创 2021-02-04 16:21:06 · 406 阅读 · 0 评论 -
浙大大学 PTA 数据结构和算法 顺序表操作集
6-2 顺序表操作集 (20 point(s))本题要求实现顺序表的操作集。函数接口定义:List MakeEmpty();Position Find( List L, ElementType X );bool Insert( List L, ElementType X, Position P );bool Delete( List L, Position P );其中List结构定义如下:typedef int Position;typedef struct LNode List;st原创 2021-02-03 18:19:56 · 1587 阅读 · 0 评论 -
C语言 统计输入的单词数与字符数
统计输入的单词数与字符数#include<stdio.h>#define IN 1 //在单词内#define OUT 0 //在单词外//统计输入的单词数与字符数int main(void){ char c; int state=OUT; int numb_row=0,numb_char=0,numb_word=0; while((c=getchar())!='\n'){ numb_char++; if(.原创 2021-01-29 21:08:18 · 543 阅读 · 0 评论 -
C语言 练习 连续的多个空格用一个空格代替
编写一个将输入复制到输出的程序,并将其中连续的多个空格用一个空格代替#include<stdio.h>int main(void){ char c; while((c=getchar())!=EOF){ if(c==' '){ //在读入到空格的时候,后面的空格就可以忽略,所以在if条件下while循环(可能有多个空格) putchar(c); while((c=getchar())==' '){原创 2021-01-29 20:28:43 · 3288 阅读 · 0 评论 -
浙江大学 PTA C语言-实验12-综合程序设计 7-1 自动售货机
7-1 自动售货机 (30point(s))如图所示的简易自动售货机,物品架1、2上共有10样商品,按顺序进行编号分别为1-10,标有价格与名称,一个编号对应一个可操作按钮,供选择商品使用。如果物架上的商品被用户买走,储物柜中会自动取出商品送到物架上,保证物品架上一定会有商品。用户可以一次投入较多钱币,并可以选择多样商品,售货机可以一次性将商品输出并找零钱。用户购买商品的操作方法是:(1)从“钱币入口”放入钱币,依次放入多个硬币或纸币。钱币可支持1元(纸币、硬币)、2元(纸币)、5元(纸币)、10元原创 2021-01-14 19:21:37 · 1599 阅读 · 0 评论 -
浙江大学PTA C语言-实验11.1 指针数组、指针与函数 6-2 输出月份英文名
6-2 输出月份英文名 (15point(s))本题要求实现函数,可以返回一个给定月份的英文名称。函数接口定义:char *getmonth( int n );函数getmonth应返回存储了n对应的月份英文名称的字符串头指针。如果传入的参数n不是一个代表月份的数字,则返回空指针NULL。裁判测试程序样例:#include <stdio.h>char *getmonth( int n );int main(){int n;char *s;scanf("%d",...原创 2021-01-06 23:11:49 · 1400 阅读 · 0 评论 -
浙江大学PTA C语言-实验11.1 指针数组、指针与函数 6-3 字符串的连接
6-3 字符串的连接 (15point(s))本题要求实现一个函数,将两个字符串连接起来。函数接口定义:char *str_cat( char *s, char *t );函数str_cat应将字符串t复制到字符串s的末端,并且返回字符串s的首地址。裁判测试程序样例:#include <stdio.h>#include <string.h>#define MAXS 10char *str_cat( char *s, char *t );int main(){.原创 2021-01-06 23:05:55 · 1049 阅读 · 0 评论 -
浙江大学 PTA C语言-实验11.1 指针数组、指针与函数 6-1 查找星期
6-1 查找星期 (15point(s))本题要求实现函数,可以根据下表查找到星期,返回对应的序号。序号 星期0 Sunday1 Monday2 Tuesday3 Wednesday4 Thursday5 Friday6 Saturday函数接口定义:int getindex( char *s );函数getindex应返回字符串s序号。如果传入的参数s不是一个代表星期的字符串,则返回-1。裁判测试程序样例:#include <stdio.h>#include .原创 2020-12-31 21:39:36 · 1274 阅读 · 0 评论 -
浙大大学 PTA C语言-测验9 结构程序设计 7-2 通讯录排序
7-2 通讯录排序 (20point(s))输入n个朋友的信息,包括姓名、生日、电话号码,本题要求编写程序,按照年龄从大到小的顺序依次输出通讯录。题目保证所有人的生日均不相同。输入格式:输入第一行给出正整数n(<10)。随后n行,每行按照“姓名 生日 电话号码”的格式给出一位朋友的信息,其中“姓名”是长度不超过10的英文字母组成的字符串,“生日”是yyyymmdd格式的日期,“电话号码”是不超过17位的数字及+、-组成的字符串。输出格式:按照年龄从大到小输出朋友的信息,格式同输出。输入.原创 2020-12-31 20:55:36 · 1539 阅读 · 0 评论 -
浙江大学 PTA C语言-测验9 结构程序设计7-1 找出总分最高的学生
7-1 找出总分最高的学生 (15分)给定N个学生的基本信息,包括学号(由5个数字组成的字符串)、姓名(长度小于10的不包含空白字符的非空字符串)和3门课程的成绩([0,100]区间内的整数),要求输出总分最高学生的姓名、学号和总分。输入格式:输入在一行中给出正整数N(≤10)。随后N行,每行给出一位学生的信息,格式为“学号 姓名 成绩1 成绩2 成绩3”,中间以空格分隔。输出格式:在一行中输出总分最高学生的姓名、学号和总分,间隔一个空格。题目保证这样的学生是唯一的。输入样例:50000.原创 2020-12-30 19:34:30 · 5299 阅读 · 3 评论 -
浙江大学 PTA C语言-实验9 结构程序设计 7-3 计算平均成绩
7-3 计算平均成绩 (15分***)给定N个学生的基本信息,包括学号(由5个数字组成的字符串)、姓名(长度小于10的不包含空白字符的非空字符串)和成绩([0,100]区间内的整数),要求计算他们的平均成绩,并顺序输出平均线以下的学生名单。输入格式:输入在一行中给出正整数N(≤10)。随后N行,每行给出一位学生的信息,格式为“学号 姓名 成绩”,中间以空格分隔。输出格式:首先在一行中输出平均成绩,保留2位小数。然后按照输入顺序,每行输出一位平均线以下的学生的姓名和学号,间隔一个空格。输入样例.原创 2020-12-30 19:30:29 · 8563 阅读 · 1 评论 -
浙江大学 PTA C语言-实验9 结构程序设计 7-5 有理数比较
7-5 有理数比较 (10分)本题要求编写程序,比较两个有理数的大小。输入格式:输入在一行中按照“a1/b1 a2/b2”的格式给出两个分数形式的有理数,其中分子和分母全是整形范围内的正整数。输出格式:在一行中按照“a1/b1 关系符 a2/b2”的格式输出两个有理数的关系。其中“>”表示“大于”,“<”表示“小于”,“=”表示“等于”。输入样例1:1/2 3/4输出样例1:1/2 < 3/4输入样例2:6/8 3/4输出样例2:6/8 = 3/4作者乔林.原创 2020-12-30 19:26:43 · 3978 阅读 · 2 评论 -
浙江大学PTA C语言-实验9 结构程序设计 7-4 查找书籍
7-4 查找书籍 (20分)给定n本书的名称和定价,本题要求编写程序,查找并输出其中定价最高和最低的书的名称和定价。输入格式:输入第一行给出正整数n(<10),随后给出n本书的信息。每本书在一行中给出书名,即长度不超过30的字符串,随后一行中给出正实数价格。题目保证没有同样价格的书。输出格式:在一行中按照“价格, 书名”的格式先后输出价格最高和最低的书。价格保留2位小数。输入样例:3Programming in C21.5Programming in VB18.5Progr.原创 2020-12-30 19:25:39 · 3776 阅读 · 0 评论 -
浙江大学PTA C语言-实验9 结构程序设计 7-2 时间换算
7-2 时间换算 (15分)本题要求编写程序,以hh:mm:ss的格式输出某给定时间再过n秒后的时间值(超过23:59:59就从0点开始计时)。输入格式:输入在第一行中以hh:mm:ss的格式给出起始时间,第二行给出整秒数n(<60)。输出格式:输出在一行中给出hh:mm:ss格式的结果时间。输入样例:11:59:4030输出样例:12:00:10作者C课程组单位浙江大学代码长度限制16 KB时间限制400 ms内存限制64 MB#include<s.原创 2020-12-24 19:55:05 · 3264 阅读 · 1 评论 -
浙江大学 C语言-实验9 结构程序设计 7-1 计算职工工资
7-1 计算职工工资 (15分)给定N个职员的信息,包括姓名、基本工资、浮动工资和支出,要求编写程序顺序输出每位职员的姓名和实发工资(实发工资=基本工资+浮动工资-支出)。输入格式:输入在一行中给出正整数N。随后N行,每行给出一位职员的信息,格式为“姓名 基本工资 浮动工资 支出”,中间以空格分隔。其中“姓名”为长度小于10的不包含空白字符的非空字符串,其他输入、输出保证在单精度范围内。输出格式:按照输入顺序,每行输出一位职员的姓名和实发工资,间隔一个空格,工资保留2位小数。输入样例:3.原创 2020-12-24 19:51:43 · 6114 阅读 · 1 评论 -
浙江大学PTA C语言-实验9 结构程序设计 6-2 按等级统计学生成绩
6-2 按等级统计学生成绩 (20分)本题要求实现一个根据学生成绩设置其等级,并统计不及格人数的简单函数。函数接口定义:int set_grade( struct student *p, int n );其中p是指向学生信息的结构体数组的指针,该结构体的定义为:struct student{int num;char name[20];int score;char grade;};n是数组元素个数。学号num、姓名name和成绩score均是已经存储好的。set_grade函数需要根.原创 2020-12-24 19:49:03 · 3827 阅读 · 1 评论 -
浙江大学PTA C语言-实验9 结构程序设计 6-1 计算两个复数之积
6-1 计算两个复数之积 (15分)本题要求实现一个计算复数之积的简单函数。函数接口定义:struct complex multiply(struct complex x, struct complex y);其中struct complex是复数结构体,其定义如下:struct complex{int real;int imag;};裁判测试程序样例:#include <stdio.h>struct complex{int real;int imag;};stru原创 2020-12-24 19:46:53 · 3925 阅读 · 1 评论 -
浙江大学PTA C语言-测验8.2 指针与字符串 7-1 找最长的字符串
7-1 找最长的字符串 (15分)本题要求编写程序,针对输入的N个字符串,输出其中最长的字符串。输入格式:输入第一行给出正整数N;随后N行,每行给出一个长度小于80的非空字符串,其中不会出现换行符,空格,制表符。输出格式:在一行中用以下格式输出最长的字符串:The longest is: 最长的字符串如果字符串的长度相同,则输出先输入的字符串。输入样例:5liwangzhangjinxiang输出样例:The longest is: zhang作者张泳单位浙大城市.原创 2020-12-19 16:23:31 · 3129 阅读 · 2 评论 -
浙江大学PTA C语言-测验8.2 指针与字符串6-1 函数实现字符串逆序
6-1 函数实现字符串逆序 (15分)本题要求实现一个字符串逆序的简单函数。函数接口定义:void f( char *p );函数f对p指向的字符串进行逆序操作。要求函数f中不能定义任何数组,不能调用任何字符串处理函数。裁判测试程序样例:#include <stdio.h>#define MAXS 20void f( char *p );void ReadString( char s ); / 由裁判实现,略去不表 */int main(){char s[MAXS];.原创 2020-12-19 16:04:42 · 3194 阅读 · 4 评论 -
浙江大学 PTA C语言-实验8.2 指针与字符串 7-2 字符串排序
7-2 字符串排序 (20分)本题要求编写程序,读入5个字符串,按由小到大的顺序输出。输入格式:输入为由空格分隔的5个非空字符串,每个字符串不包括空格、制表符、换行符等空白字符,长度小于80。输出格式:按照以下格式输出排序后的结果:After sorted:每行一个字符串输入样例:red yellow blue green white输出样例:After sorted:bluegreenredwhiteyellow作者张泳单位浙大城市学院代码长度限制16 KB.原创 2020-12-19 15:37:10 · 4697 阅读 · 2 评论 -
浙江大学 C语言-实验8.2 指针与字符串 7-1 找最小的字符串
7-1 找最小的字符串 (15分)本题要求编写程序,针对输入的N个字符串,输出其中最小的字符串。输入格式:输入第一行给出正整数N;随后N行,每行给出一个长度小于80的非空字符串,其中不会出现换行符,空格,制表符。输出格式:在一行中用以下格式输出最小的字符串:Min is: 最小字符串输入样例:5LiWangZhaJinXian输出样例:Min is: Jin作者张泳单位浙大城市学院代码长度限制16 KB时间限制400 ms内存限制64 MB#inclu.原创 2020-12-19 12:28:43 · 7276 阅读 · 2 评论 -
浙江大学PTA C语言-实验7.3 字符串 7-8 删除重复字符
7-8 删除重复字符 (20分)本题要求编写程序,将给定字符串去掉重复的字符后,按照字符ASCII码顺序从小到大排序后输出。输入格式:输入是一个以回车结束的非空字符串(少于80个字符)。输出格式:输出去重排序后的结果字符串。输入样例:ad2f3adjfeainzzzv输出样例:23adefijnvz作者颜晖单位浙大城市学院代码长度限制16 KB时间限制400 ms内存限制64 MB#include<stdio.h>void bubble(char a.原创 2020-12-18 12:38:32 · 3738 阅读 · 2 评论 -
浙江大学PTA C语言-测验7.3 字符串7-2 字符转换
7-2 字符转换 (15分)本题要求提取一个字符串中的所有数字字符(‘0’……‘9’),将其转换为一个整数输出。输入格式:输入在一行中给出一个不超过80个字符且以回车结束的字符串。输出格式:在一行中输出转换后的整数。题目保证输出不超过长整型范围。输入样例:free82jeep5输出样例:825作者杨起帆单位浙大城市学院代码长度限制16 KB时间限制400 ms内存限制64 MB#include<stdio.h>int main(void){ ch.原创 2020-12-16 22:54:24 · 3406 阅读 · 0 评论 -
浙江大学PTA C语言-测验7.3 字符串7-1 字符串替换
7-1 字符串替换 (15分)本题要求编写程序,将给定字符串中的大写英文字母按以下对应规则替换:原字母 对应字母A ZB YC XD W… …X CY BZ A输入格式:输入在一行中给出一个不超过80个字符、并以回车结束的字符串。输出格式:输出在一行中给出替换完成后的字符串。输入样例:Only the 11 CAPItaL LeTtERS are replaced.输出样例:Lnly the 11 XZKRtaO OeGtVIH are replaced.作者C课程组原创 2020-12-16 22:52:21 · 3992 阅读 · 0 评论 -
浙江大学PTA C语言-实验7.3 字符串 7-5 查找指定字符 (15分)
7-5 查找指定字符 (15分)本题要求编写程序,从给定字符串中查找某指定的字符。输入格式:输入的第一行是一个待查找的字符。第二行是一个以回车结束的非空字符串(不超过80个字符)。输出格式:如果找到,在一行内按照格式“index = 下标”输出该字符在字符串中所对应的最大下标(下标从0开始);否则输出"Not Found"。输入样例1:mprogramming输出样例1:index = 7输入样例2:a1234输出样例2:Not Found#include<stdio.原创 2020-12-13 20:36:18 · 3841 阅读 · 0 评论 -
浙江大学PTA C语言-实验7.3 字符串 7-1 统计大写辅音字母
7-1 统计大写辅音字母 (15分)英文辅音字母是除A、E、I、O、U以外的字母。本题要求编写程序,统计给定字符串中大写辅音字母的个数。输入格式:输入在一行中给出一个不超过80个字符、并以回车结束的字符串。输出格式:输出在一行中给出字符串中大写辅音字母的个数。输入样例:HELLO World!输出样例:4作者C课程组单位浙江大学代码长度限制16 KB时间限制400 ms内存限制64 MB#include<stdio.h>int main(void){原创 2020-12-13 20:35:04 · 3425 阅读 · 0 评论 -
浙江大学PTA C语言-实验8.2 指针与字符串 6-3 字符串的连接
6-3 字符串的连接 (15分)本题要求实现一个函数,将两个字符串连接起来。函数接口定义:char *str_cat( char *s, char *t );函数str_cat应将字符串t复制到字符串s的末端,并且返回字符串s的首地址。裁判测试程序样例:#include <stdio.h>#include <string.h>#define MAXS 10char *str_cat( char *s, char *t );int main(){char *p;原创 2020-12-07 19:03:21 · 2602 阅读 · 2 评论 -
浙江大学PTA C语言 实验8.1 指针与数组 6-5 判断回文字符串
6-5 判断回文字符串 (20分)本题要求编写函数,判断给定的一串字符是否为“回文”。所谓“回文”是指顺读和倒读都一样的字符串。如“XYZYX”和“xyzzyx”都是回文。函数接口定义:bool palindrome( char *s );函数palindrome判断输入字符串char *s是否为回文。若是则返回true,否则返回false。裁判测试程序样例:#include <stdio.h>#include <string.h>#define MAXN 20ty原创 2020-12-07 18:35:32 · 1881 阅读 · 0 评论 -
浙江大学PTA C语言 指针与数组 6-1 拆分实数的整数与小数部分
6-1 拆分实数的整数与小数部分 (15分)本题要求实现一个拆分实数的整数与小数部分的简单函数。函数接口定义:void splitfloat( float x, int *intpart, float *fracpart );其中x是被拆分的实数(0≤x<10000),intpart和fracpart分别是将实数x拆分出来的整数部分与小数部分。裁判测试程序样例:#include <stdio.h>void splitfloat( float x, int *intpart,原创 2020-12-06 11:04:02 · 1403 阅读 · 0 评论 -
浙江大学PTA C语言 指针与数组 6-6 指针与数 数组循环右移
6-6 数组循环右移 (20分)本题要求实现一个对数组进行循环右移的简单函数:一个数组a中存有n(>0)个整数,将每个整数循环向右移m(≥0)个位置,即将a中的数据由(a0 a1 ⋯an−1 )变换为(an−m ⋯an−1 a0 a1 ⋯an−m−1 )(最后m个数循环移至最前面的m个位置)。函数接口定义:int ArrayShift( int a[], int n, int m );其中a[]是用户传入的数组;n原创 2020-12-05 14:46:41 · 1378 阅读 · 0 评论 -
浙江大学PTA 二维数组 7-6 方阵循环右移
7-6 方阵循环右移 (20分)本题要求编写程序,将给定n×n方阵中的每个元素循环向右移m个位置,即将第0、1、⋯、n−1列变换为第n−m、n−m+1、⋯、n−1、0、1、⋯、n−m−1列。输入格式:输入第一行给出两个正整数m和n(1≤n≤6)。接下来一共n行,每行n个整数,表示一个n阶的方阵。输出格式:按照输入格式输出移动后的方阵:即输出n行,每行n个整数,每个整数后输出一个空格。输入样例:2 31 2 34 5 67 8 9输出样例:2 3 15 6 48 9 7作者颜晖原创 2020-11-30 20:42:44 · 1450 阅读 · 0 评论 -
浙江大学PTA题目 二维数组7-5 打印杨辉三角
7-5 打印杨辉三角 (20分)本题要求按照规定格式打印前N行杨辉三角。输入格式:输入在一行中给出N(1≤N≤10)。输出格式:以正三角形的格式输出前N行杨辉三角。每个数字占固定4位。输入样例:6输出样例: 1 1 1 1 2 1 1 3 3 11 4 6 4 11 5 10 10 5 1#include<stdio.h>int main(void){ int n; scanf原创 2020-11-30 20:09:47 · 1835 阅读 · 2 评论 -
浙江大学PTA题目 二维数组 7-4 判断上三角矩阵
7-4 判断上三角矩阵 (15分)上三角矩阵指主对角线以下的元素都为0的矩阵;主对角线为从矩阵的左上角至右下角的连线。本题要求编写程序,判断一个给定的方阵是否上三角矩阵。输入格式:输入第一行给出一个正整数T,为待测矩阵的个数。接下来给出T个矩阵的信息:每个矩阵信息的第一行给出一个不超过10的正整数n。随后n行,每行给出n个整数,其间以空格分隔。输出格式:每个矩阵的判断结果占一行。如果输入的矩阵是上三角矩阵,输出“YES”,否则输出“NO”。输入样例:231 2 30 4 50 0 6原创 2020-11-30 19:32:47 · 1578 阅读 · 1 评论