PTA -C语言习题
只秃头不变强
这个作者很懒,什么都没留下…
展开
-
PTA-C语言习题 12.7账户余额管理(选做)
要求创建一个随机文件,用来存储银行账户和余额信息,程序要求能够查询某个账户的余额,当客户发生交易额时(正表示存入,负表示取出)能够更新余额。账户信息包括账号、账号名和余额三个数据项。试编写相应程序。分析难点在于如何更新余额,我认为可以采用两个文件来完成这一任务。假设a文件存的是原始的账户信息,那么在发生交易额时,将a文件中的所有信息逐一遍历到b文件里去,并且在遍历过程中比对发生交易额的账户的编号是否在a文件中,如果在的话便用该账户的交易额加上该账户的原始余额即得到该账户新余额。然后再依次将a文件中其他原创 2021-02-17 16:16:01 · 1119 阅读 · 0 评论 -
PTA-C语言 习题12-6删除文件中的注释(20分)
删除文件中的注释将c语言源程序(hello.c)文件中的所有注释去掉后存入另一个文件(new_hello.c)。试编写相应程序。难度:有脚就行(滑稽)解法考虑到我们平常用注释有两种用法,一种是给程序代码做解释说明,另一种则是在调试过程中用注释符限制某些语句的执行。两种放在一起,理解程序会显得很复杂。为了使程序更容易理解,我分别用两个程序来解释,从浅到深。用注释符限制语句执行```c#include <stdio.h>#include<stdlib.h>typed原创 2021-02-07 17:10:20 · 1328 阅读 · 0 评论 -
PTA-C语言 习题12-5 输出含for的行(15分)
输出含for的行将文本文件test.txt中所包含字符串“for"的行输出。试编写相应程序。难度有手就行(滑稽)温馨提示记得把txt文件的编码方式改为ANSCII编码,不然读取中文时会出现一堆鬼画符代码实现#include <stdio.h>int main(void){ FILE *fp; int i=0,j; char str[50],ch; fp=fopen("test.txt","r"); while(!feof(fp)){ while((ch=fg原创 2021-02-06 16:47:10 · 1279 阅读 · 1 评论 -
PTA-语言 习题12-3 比较两个文本文件是否相等
比较两个文本文件是否相等比较两个文本文件的内容是否相同,并输出两个文件中第一次出现不同字符内容的行号及列号。试编写相应程序。#include <stdio.h>int main(void){ FILE *fp,*fp1; int array1=1,row1=1,array2=1,row2=1; char ch1,ch2; //test与test1都是与当前程序在同一目录下的文件 fp=fopen("test.txt","r"); fp1=fopen("test1.txt","原创 2021-02-06 16:08:30 · 1910 阅读 · 1 评论 -
PTA-C语言 习题11-8 单链表结点删除 (20分)
本题要求实现两个函数,分别将读入的数据存储为单链表、将链表中所有存储了某给定值的结点删除。链表结点定义如下:struct ListNode { int data; ListNode *next;};函数接口定义:struct ListNode *readlist();struct ListNode *deletem( struct ListNode *L, int m );函数readlist从标准输入读入一系列正整数,按照读入顺序建立单链表。当读到−1时表示输入结束,函数原创 2021-01-28 21:04:26 · 958 阅读 · 1 评论 -
PTA-C语言习题 习题11-7 奇数值结点链表 (20分)
本题要求实现两个函数,分别将读入的数据存储为单链表、将链表中奇数值的结点重新组成一个新的链表。链表结点定义如下:struct ListNode { int data; ListNode *next;};函数接口定义:struct ListNode *readlist();struct ListNode *getodd( struct ListNode **L );函数readlist从标准输入读入一系列正整数,按照读入顺序建立单链表。当读到−1时表示输入结束,函数应返回指向单原创 2021-01-28 16:35:39 · 599 阅读 · 0 评论 -
PTA-C语言 习题10-8 递归实现顺序输出整数 (15分)+习题10-7 十进制转换二进制 (15分)
本题要求实现一个函数,对一个整数进行按位顺序输出。函数接口定义:void printdigits( int n );函数printdigits应将n的每一位数字从高位到低位顺序打印出来,每位数字占一行。裁判测试程序样例:#include <stdio.h>void printdigits( int n );int main(){ int n; scanf("%d", &n); printdigits(n); return 0;}原创 2021-01-03 22:50:23 · 384 阅读 · 0 评论 -
PTA-C语言 习题10-4 递归求简单交错幂级数的部分和 (15分)
本题要求实现一个函数,计算下列简单交错幂级数的部分和:函数接口定义:double fn( double x, int n );其中题目保证传入的n是正整数,并且输入输出都在双精度范围内。函数fn应返回上述级数的部分和。建议尝试用递归实现。裁判测试程序样例:#include <stdio.h>double fn( double x, int n );int main(){ double x; int n; scanf("%lf %d", &原创 2021-01-03 15:27:00 · 770 阅读 · 0 评论 -
PTA-C语言 习题9-3 平面向量加法 (15分)
本题要求编写程序,计算两个二维平面向量的和向量。输入格式:输入在一行中按照“x1y1x2y2 ”的格式给出两个二维平面向量v1=(x1,y1),c2=(x2,y2)的分量。输出格式:在一行中按照(x, y)的格式输出和向量,坐标输出小数点后一位(注意不能输出−0.0)。输入样例:3.5 -2.7 -13.9 8.7输出样例:(-10.4, 6.0)解题思路该题唯一的难点就在于如何去掉-0.0这个数,我的想法是先将和向量的每一个坐标值转换为字符串,再判断该字符串是不是等于-0.0即可原创 2020-12-31 20:44:31 · 939 阅读 · 0 评论 -
PTA-C语言 习题8-7 字符串排序 (20分)
本题要求编写程序,读入5个字符串,按由小到大的顺序输出。输入格式:输入为由空格分隔的5个非空字符串,每个字符串不包括空格、制表符、换行符等空白字符,长度小于80。输出格式:按照以下格式输出排序后的结果:After sorted:每行一个字符串输入样例:red yellow blue green white输出样例:After sorted:bluegreenredwhiteyellow此题有两个重点:如何存放这5个字符串?如何比较各个字符串的大小?对于第一个问题原创 2020-12-20 18:03:10 · 3641 阅读 · 1 评论 -
PTA-C语言 习题8-6 删除字符 (20分)
本题要求实现一个删除字符串中的指定字符的简单函数。函数接口定义:void delchar( char *str, char c );其中char *str是传入的字符串,c是待删除的字符。函数delchar的功能是将字符串str中出现的所有c字符删除。标题裁判测试程序样例:#include <stdio.h>#define MAXN 20void delchar( char *str, char c );void ReadString( char s[] ); /* 由裁判实原创 2020-12-18 23:37:02 · 2487 阅读 · 1 评论 -
PTA-C语言 习题8-3 数组循环右移 (20分)
本题要求实现一个对数组进行循环右移的简单函数:一个数组a中存有n(>0)个整数,将每个整数循环向右移m(≥0)个位置(最后m个数循环移至最前面的m个位置)。函数接口定义:int ArrayShift( int a[], int n, int m );其中a[]是用户传入的数组;n是数组的大小;m是右移的位数。函数ArrayShift须将循环右移后的数组仍然存在a[]中。裁判测试程序样例:#include <stdio.h>#define MAXN 10int ArrayS原创 2020-12-18 15:06:22 · 1506 阅读 · 1 评论 -
PTA-C语言 练习2-12 输出华氏-摄氏温度转换表 (15分)
输入2个正整数lower和upper(lower≤upper≤100),请输出一张取值范围为[lower,upper]、且每次增加2华氏度的华氏-摄氏温度转换表。温度转换的计算公式:C=5×(F−32)/9,其中:C表示摄氏温度,F表示华氏温度。输入格式:在一行中输入2个整数,分别表示lower和upper的值,中间用空格分开。输出格式:第一行输出:“fahr celsius”接着每行输出一个华氏温度fahr(整型)与一个摄氏温度celsius(占据6个字符宽度,靠右对齐,保留1位小数)。若输原创 2020-12-14 19:56:10 · 1384 阅读 · 0 评论 -
PTA-C语言 练习7-8 方阵循环右移 (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#include <stdio.h&g原创 2020-12-14 19:01:32 · 1057 阅读 · 0 评论 -
PTA-C语言 习题7-5 找鞍点 (20分)
一个矩阵元素的“鞍点”是指该位置上的元素值在该行上最大、在该列上最小。本题要求编写程序,求一个给定的n阶方阵的鞍点。输入格式:输入第一行给出一个正整数n(1≤n≤6)。随后n行,每行给出n个整数,其间以空格分隔。输出格式:输出在一行中按照“行下标 列下标”(下标从0开始)的格式输出鞍点的位置。如果鞍点不存在,则输出“NONE”。题目保证给出的矩阵至多存在一个鞍点。输入样例1:41 7 4 14 8 3 61 6 1 20 7 8 9输出样例1:2 1输入样例2:21 74原创 2020-12-14 18:55:19 · 1717 阅读 · 1 评论 -
PTA-C语言 习题7-7 字符串替换 (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.#include<stdio.h>原创 2020-12-11 15:58:43 · 2430 阅读 · 0 评论