c语言练手
青山练手
这个作者很懒,什么都没留下…
展开
-
7-4 学分统计 (10 分)
已知某大学校选课成绩选用四级制,分别为A、B、C、D,其中A、B、C级获得学分,D级没有学分。规定学业成绩大于等于85的为A级,70-84的评为B级,60-69的评为C级,60分以下的评为D级,请你写一个程序将得分转换为等级,并统计没有获得学分的人数。输入格式:输入第一行为一个正整数n(n<=10),代表选课学生人数,随后n行,每行为一个学生信息,包括学号(长度为12的不带空格的数字串)、姓名(长度不超过20的不带空格的一串字符)、得分(大于等于0且小于等于100的整数)。输出格式:按原创 2021-07-07 14:30:27 · 4097 阅读 · 0 评论 -
求整型数组前n个数中正数之和。
本题目要求从键盘读入一个正整数n(1<=n<=10),然后输入n个整数依次送入整型数组,再对其中的正数求和并输出结果。输入格式:在第一行中输入n的值,回车后在第2行输入n个整数(有正有负,以空格分隔)后,以回车结束输入。输出格式:如输入n的值不合乎要求,则直接输出error!(不必输出换行符)即可。不需要再后续输入数据。 否则,输出数组的前n个元素中其中正数的和即可。不需要附加修饰说明。输入样例:在这里给出一组输入。例如:83 -3 1 2 -4 5 5 -7原创 2021-07-07 14:28:07 · 1985 阅读 · 0 评论 -
求n以内最大的k个素数以及它们的和
本题要求计算并输出不超过n的最大的k个素数以及它们的和。输入格式:输入在一行中给出n(10≤n≤10000)和k(1≤k≤10)的值。输出格式:在一行中按下列格式输出:素数1+素数2+…+素数k=总和值其中素数按递减顺序输出。若n以内不够k个素数,则按实际个数输出。输入样例1:1000 10输出样例1:997+991+983+977+971+967+953+947+941+937=9664输入样例2:12 6输出样例2:11+7+5+3+2=原创 2021-07-07 14:27:03 · 1934 阅读 · 0 评论 -
简单求阶乘问题
7-1 简单求阶乘问题 (10 分)本题要求编写程序,计算N的阶乘。输入格式:输入在一行中给出一个不超过12的正整数N。输出格式:在一行中输出阶乘的值。输入样例:4输出样例:24#include <stdio.h>#include <stdlib.h>int main(){int m,j,i=1;scanf("%d",&m);for(j=1;j<m+1;j++){i=i*j;}printf("%d",i);原创 2021-07-07 14:26:22 · 2155 阅读 · 0 评论 -
写字母(*)
请编写函数,将大写字母写入文件中。函数原型void WriteLetter(FILE *f, int n);说明:参数 f 为文件指针,n 为字母数目(1 ≤ n ≤ 26)。函数将前 n 个大写英文字母写入 f 所指示的文件中。裁判程序#include <stdio.h>#include <stdlib.h>void WriteLetter(FILE *f, int n);int main(){ FILE *f; int n;原创 2021-07-07 14:25:30 · 81 阅读 · 0 评论 -
数组循环右移
本题要求实现一个对数组进行循环右移的简单函数:一个数组a中存有n(>0)个整数,将每个整数循环向右移m(≥0)个位置,即将a中的数据由(a0a1⋯an−1)变换为(an−m⋯an−1a0a1⋯an−m−1)(最后m个数循环移至最前面的m个位置)。函数接口定义:int ArrayShift( int a[], int n, int m );其中a[]是用户传入的数组;n是数组的大小;m是右移的位数。函数ArrayShift须将循环右移后的数组原创 2021-07-07 14:24:38 · 222 阅读 · 0 评论 -
求出二维数组的最大元素及其所在的坐标
编写一个函数fun,函数的功能是:求出N×M整型数组的最大元素及其所在的行坐标及列坐标(如果最大元素不唯一,选择位置在最前面的一个)。函数接口定义:int fun(int array[N][M]);其中 a 是用户传入的参数。 函数须返回 N×M整型数组的最大元素,其所在的行坐标及列坐标放在全局变量Row和Col中。裁判测试程序样例:#include <stdio.h>#define N 4#define M 3int Row,Col;int fun(int ar原创 2021-07-07 14:23:49 · 7844 阅读 · 0 评论 -
自然数各位数字之和(递归版)
请编写函数,求自然数各位数字之和。函数原型int SumDigit(int number);说明:参数 number 为非负整数。函数值为 number 的各位数字之和。若 number 为零,则函数值为零。裁判程序#include <stdio.h>int SumDigit(int number);int main(){ int n; scanf("%d", &n); printf("%d\n", SumDigit(n));原创 2021-07-07 14:22:55 · 4992 阅读 · 0 评论 -
日期 - 9. 输出星期名(中文)
请编写程序,根据星期数输出对应的星期名(中文版)。函数原型void ShowNameDayWeek(int dow);说明:参数 dow 为星期数。若 dow 在 0 ~ 6 范围内,则输出“日”、“一”、“二”、...、“六”,否则不输出任何信息。裁判程序#include <stdio.h>void ShowNameDayWeek(int dow);int main(){ int n; scanf("%d", &n); Show原创 2021-07-07 14:21:50 · 4979 阅读 · 0 评论 -
7-1 单链表基本操作 (5 分)
请编写程序实现单链表插入、删除结点等基本算法。给定一个单链表和一系列插入、删除结点的操作序列,输出实施上述操作后的链表。单链表数据域值为整数。输入格式:输入第1行为1个正整数n,表示当前单链表长度;第2行为n个空格间隔的整数,为该链表n个元素的数据域值。第3行为1个正整数m,表示对该链表施加的操作数量;接下来m行,每行表示一个操作,为2个或3个整数,格式为0 k d或1 k。0 k d表示在链表第k个结点后插入一个数据域值为d的结点,若k=0则表示表头插入。1 k表示删除链表中第k个结点,此时k不能原创 2021-06-16 17:11:09 · 6366 阅读 · 0 评论 -
7-4 简单通讯录 (100 分)
程序输入整数N,再输入N个学生的姓名和电话号码。最后以表格形式输出。输入格式:第一行,整数N(N<100),接下来N行,是N个学生的姓名(无空格不超过20个字符)和电话(无空格不超过20个字符)。输出格式:见样例,严格按样例格式输出。输入样例:3AAAAABBBBBCCCCCDDDDD 13000001234Yulong 13666667777Gaoyuhang 18601105886原创 2021-06-16 16:35:48 · 1207 阅读 · 0 评论 -
7-6 链表操作-插入、查找和删除 (100 分)
请编写创建链表和输出链表的函数。对于以下数据结点的结构定义,针对带头结点的链表,请编程完成以下功能。struct LNode{int data; //数据域struct LNode *next; //指针域};struct LNode *head; //头指针输入数据包含若干组命令和数据,一组数据中的第1个字符代表命令,接下来的是该命令需要的数据。(1)如果命令是I,功能为创建空链表,对应函数:void List_In.原创 2021-06-16 16:34:29 · 1945 阅读 · 0 评论 -
7-3 第一名 (100 分)
使用结构体类型,编程输入2个学生的姓名和高级语言、数据结构、算法分析三门课程的成绩,输出总分第一名学生的姓名(保证总分不相同)。输入格式:姓名不超过20个字符,中间无空格。 所有分数为整数。输入样例:Madaha 80 90 100Jibuzhu 95 85 98输出样例:Jibuzhu...原创 2021-06-16 13:11:57 · 1569 阅读 · 0 评论 -
7-55 吉老师的回归 (15 分)
7-55 吉老师的回归 (15 分)曾经在天梯赛大杀四方的吉老师决定回归天梯赛赛场啦!为了简化题目,我们不妨假设天梯赛的每道题目可以用一个不超过 500 的、只包括可打印符号的字符串描述出来,如:Problem A: Print "Hello world!"。众所周知,吉老师的竞赛水平非常高超,你可以认为他每道题目都会做(事实上也是……)。因此,吉老师会按照顺序看题并做题。但吉老师水平太高了,所以签到题他就懒得做了(浪费时间),具体来说,假如题目的字符串里有 qiandao 或者 easy(区分原创 2021-05-14 16:11:35 · 2677 阅读 · 1 评论 -
程序设计基础(计算机类2014) 实验4 选择控制结构1
7-1 成绩等级 (5 分)PAT考试每年举办三次,分为Top、Advanced和Basic三个级别。小明的公司正在招聘程序员,主要关注Basic这个等级成绩。很多应聘者提供了他们的Basic级别的PAT考试分数。 对2016年三次PAT考试的分数做了一番研究之后,小明的公司给出了一个规则把应聘者划分为A、B 2个等级:如果分数小于底线L,则为B级,否则就是A级。 请编写程序帮忙计算应聘者的等级。输入格式:在一行中给出2个整数L和G。0<L<100, 0<=G<=100。原创 2021-05-12 16:19:07 · 1548 阅读 · 0 评论 -
7-57 吸血鬼素数测试增强版 (15 分)
7-57 吸血鬼素数测试增强版 (15 分)吸血鬼素数是指这样的数:如果两个相同位数的素数,其乘积的组成数字正好与这两个素数的组成数字相同,那么这两个素数都被称为吸血鬼素数,例如,117067=167×701,前后都是由一个“0”,两个“1”,一个“6”,两个“7”组成,而167和701都是素数,那么167和701都是3位吸血鬼素数。 请判断给定的一组数,是否是吸血鬼素数。输入格式:有多组测试数据,第一行输入T(小于等于10000),为测试数据的组数,随后T行,每行一个正整数N(小于10000)原创 2021-05-12 11:45:10 · 996 阅读 · 2 评论 -
7-46-7-50
7-46 输出下半张九九乘法表 (10 分)请输出下半张九九乘法表,即下三角的半张。1×1= 12×1= 2 2×2= 43×1= 3 3×2= 6 3×3= 94×1= 4 4×2= 8 4×3=12 4×4=165×1= 5 5×2=10 5×3=15 5×4=20 5×5=256×1= 6 6×2=12 6×3=18 6×4=24 6×5=30 6×6=367×1= 7 7×2=14 7×3=21 7×4=28 7×5=35 7×6=42 7×7=498×1= 8原创 2021-05-12 11:40:03 · 1365 阅读 · 0 评论 -
7-43至7-45
7-43 判断正整数n是否同时含有奇数和偶数 (10 分)本题目要求读入1个正整数n,判断正整数n是否同时含有奇数字和偶数字。输入格式:输入一个正整数n。输出格式:输出此正整数,并输出YES(表示同时含有)或NO(表示不同时含有)。输入样例:123输出样例:123 YES#include<stdio.h>int main(){ int a,b=0,c=0,i; scanf("%d",&a); int k = a;原创 2021-05-12 10:38:16 · 1446 阅读 · 0 评论 -
7-41至7-42
7-41 成绩统计分析表(*) (10 分)输入一个班的成绩,输出成绩统计分析表。输入格式班级人数n (n>0)n 名学生的成绩 s1,s2,⋯,sn (0≤si≤100,1≤i≤n)输出格式输出 n 名学生的序号、成绩、柱状图 输出全班的最高分、最低分、平均分及柱状图 按成绩等级输出各等级的比例及柱状图成绩等级:成绩 等级 [90,100] A [80,90) B [70,80) C [60,70)原创 2021-05-11 21:44:43 · 388 阅读 · 0 评论 -
7-36至7-40
7-36 小明的银行卡密码 (100 分)小明想给自己的银行卡设置一个6位数字的密码,应符合如下规则:(1)左侧数第1,3,5位数字为奇数;(2)左侧数第2,4,6位数字为偶数;(3)任意两位数字不相同;(4)中间两位不是月份(不在1-12之间),后两位不是日期(不在1-31之间);(5)前三位非升序非降序排列,后三位非升序非降序排列;(6) 前三位与后三位之差被23整除余13。请编程输入两个六位整数a,b, 输出区间[a,b]之间所有符合条件的密码。输入样例:100000 9原创 2021-05-11 12:43:18 · 2224 阅读 · 0 评论 -
7-31至7-35
7-31 输出最大公约数(应用break语句) (100 分)输入正整数m和n,输出它们的最大公约数,要求在循环中应用break语句。输入样例:36 24输出样例:12#include <stdio.h>int main(){ int a; int b; int r=1; scanf("%d%d",&a,&b); while(1){ r = a % b; a = b;原创 2021-05-11 12:37:38 · 2640 阅读 · 0 评论 -
7-26至7-30
7-26 穷举算阶乘 (100 分)输入一个正整数n的值(n不超过20),编程输出n!(n的阶乘)。程序中的整数请定义成long long型。输入样例:5输出样例:5!=120输入样例:6输出样例:6!=720#include <stdio.h>#include <math.h>int main(){ int n; scanf("%d",&n); long long s = 1; for(原创 2021-05-11 12:34:50 · 2641 阅读 · 0 评论 -
7-16至7-25
7-16 回文日期 (100 分)2020 年春节期间,有一个特殊的日期引起了大家的注意:2020年2月2日。因为如果将这个日期按“yyyymmdd” 的格式写成一个8 位数是20200202,恰好是一个回文数。我们称这样的日期是回文日期。有人表示20200202 是“千年一遇” 的特殊日子。对此小明很不认同,因为不到2年之后就是下一个回文日期:20211202 即2021年12月2日。 也有人表示20200202 并不仅仅是一个回文日期,还是一个ABABBABA型的回文日期。对此小明也不认同,因为原创 2021-05-11 12:15:45 · 1355 阅读 · 0 评论 -
7-12至7-15
7-12 求因子和最大的数 (40 分)我们定义正整数的因子和指1个正整数的因子中,不包括自己的其它所有因子之和。例如,4的因子和是1+2=3,6的因子和是1+2+3=6,7的因子和是1,8的因子和是1+2+4=7,9的因子和是1+3=4。我们约定1的因子和是0。 本题要求你编程求一组正整数中因子和最大的数。输入格式:输入包括2行。 第一行是1个正整数n,表示第2行会有n个正整数。输出格式:输出第2行的n个正整数中因子和最大的那个数。输入样例:54 6 7 8 9输出样例原创 2021-05-11 07:51:13 · 2163 阅读 · 0 评论 -
7-11 六大门派身份识别 (15 分)
7-11 六大门派身份识别 (15 分)武林中六大门派“少林派、武当派、昆仑派、峨嵋派、华山派、崆峒派”的弟子众多,他们行走江湖,需要能够互相识别身份,以免被邪门歪道的恶人冒充。六大门派(以下简称“正派”)的掌门人聚在一起闭关半年,设计出来这样一个识别方式:每名正派弟子均有一个身份验证码,并熟知验证规则。当一名正派弟子遇见另一名自称为正派弟子的人,就要求对方报出身份验证码。若验证无误,则交个朋友;若验证失败,说明对方为假冒的,立即开战(当然,如果打不过就溜……)验证码是这样的:由9位数字原创 2021-05-11 07:42:23 · 1643 阅读 · 0 评论 -
7-10 A+B(多组数据3) (100 分)
问题描述有若干组整数对,求每对数的和。输入格式:若干行,每行有两个整数(绝对值不超过10000)。输出格式:每组数据的计算结果显示在单独一行。输入样例:18 -2991 1-5 8输出样例:-28123#include <stdio.h>#include <stdlib.h>int main(){int n,o,i,j,x,y;for(j=0;j<10000;j++){if(scanf("%d %d",&原创 2021-05-10 13:24:44 · 771 阅读 · 0 评论 -
7-9 A+B(多组数据2) (100 分)
问题描述有若干组整数对,求每对数的和。输入格式:若干行,每行有两个整数(绝对值不超过10000)。最后一组数据为“0 0”,表示数据结束,不参与运算。输出格式:每组数据的计算结果显示在单独一行。输入样例:18 -2991 1-5 80 0输出样例:-28123#include <stdio.h>#include <stdlib.h>int main(){int n,o,i,j,x,y;for(j=0;j<1原创 2021-05-10 13:24:11 · 429 阅读 · 0 评论 -
7-8 A+B(多组数据1) (50 分)
问题描述有若干组整数对,求每对数的和。输入格式:第一行是数据组数N(1<=N<=100) 接下来的N行,每行有两个整数(绝对值不超过10000)。输出格式:每组数据的计算结果显示在单独一行。输入样例:318 -2991 1-5 8输出样例:-28123#include <stdio.h>#include <stdlib.h>int main(){int n,o,i,j,x,y;scanf("%d",&am原创 2021-05-10 13:23:31 · 711 阅读 · 0 评论 -
7-7 连续和问题 (50 分)
问题描述给你一段连续的整数,你能求出它们的和吗?输入格式:一行中给出两个整数A和B(A<=B且绝对值不超过10000)。输出格式:一个整数,即从A到B的所有连续整数的和(包括A和B)。输入样例:1 10输出样例:55输入样例:-10 10输出样例:0#include <stdio.h>#include <stdlib.h>int main(){int n,o,i,j,x,y;scanf("%d %d"原创 2021-05-10 13:21:22 · 2096 阅读 · 0 评论 -
7-6 降价提醒机器人 (10 分)
小 T 想买一个玩具很久了,但价格有些高,他打算等便宜些再买。但天天盯着购物网站很麻烦,请你帮小 T 写一个降价提醒机器人,当玩具的当前价格比他设定的价格便宜时发出提醒。输入格式:输入第一行是两个正整数 N 和 M (1≤N≤100,0≤M≤1000),表示有 N 条价格记录,小 T 设置的价格为 M。接下来 N 行,每行有一个实数 Pi(−1000.0<Pi<1000.0),表示一条价格记录。输出格式:对每一条比设定价格 M 便宜的价格记录 P,在一行中输出 O原创 2021-05-10 12:38:09 · 3074 阅读 · 4 评论 -
7-5 计算n的阶乘 (12 分)
编写程序,求自然数1至n(n>1)的累乘积(即阶乘)。其中n的值从键盘输入(n<=12)。输入格式:输入一个正整数。输出格式:输出一个正整数,最后换行。输入样例:8输出样例:40320#include <stdio.h>#include <stdlib.h>int main(){int m,j,i=1;scanf("%d",&m);for(j=1;j<m+1;j++){i=i*j;}printf("原创 2021-05-10 12:33:18 · 2872 阅读 · 1 评论 -
7-4 求出两个正整数之间能被3整除但不能被5整除的所有奇数 (12 分)
编程求出任意两个正整数(闭区间,即包括两个正整数)之间能被3整除但不能被5整除的所有奇数。输入格式:输入两个正整数(用空格分隔)赋给变量m和n。输出格式:输出m和n之间能被3整除但不能被5整除的所有奇数。要求:每行输出8个数,数据之间用英文逗号,分隔。输入样例:1 200输出样例:3,9,21,27,33,39,51,5763,69,81,87,93,99,111,117123,129,141,147,153,159,171,177183,189,#def原创 2021-05-10 12:26:10 · 5875 阅读 · 0 评论 -
7-3 Cassels方程 (10 分)
7-3 Cassels方程 (10 分)Cassels方程是一个在数论界产生了巨大影响的不定方程:x2+y2+z2=3xyz。该方程有无穷多自然数解。本题并不是要你求解这个方程,只是判断给定的一组 (x,y,z) 是不是这个方程的解。输入格式:输入在第一行给出一个不超过 10 的正整数 N,随后 N 行,每行给出 3 个正整数 0<x≤y≤z≤1000。输出格式:对于每一组输入,如果是一组解,就在一行中输出 Yes,否则输出 No。输入样例:21原创 2021-05-10 12:15:47 · 6065 阅读 · 4 评论 -
7-1 编程团体赛 (20 分)
编程团体赛的规则为:每个参赛队由若干队员组成;所有队员独立比赛;参赛队的成绩为所有队员的成绩和;成绩最高的队获胜。现给定所有队员的比赛成绩,请你编写程序找出冠军队。输入格式:输入第一行给出一个正整数 N(≤104),即所有参赛队员总数。随后 N 行,每行给出一位队员的成绩,格式为:队伍编号-队员编号 成绩,其中队伍编号为 1 到 1000 的正整数,队员编号为 1 到 10 的正整数,成绩为 0 到 100 的整数。输出格式:在一行中输出冠军队的编号和总成绩,其间以一个空格分隔。注原创 2021-05-10 09:23:01 · 853 阅读 · 0 评论 -
7-2 不变初心数 (15 分)
7-2 不变初心数 (15 分)不变初心数是指这样一种特别的数,它分别乘 2、3、4、5、6、7、8、9 时,所得乘积各位数之和却不变。例如 18 就是这样的数:18 的 2 倍是 36,3+6=9;18 的 3 倍是 54,5+4=9;…… 18 的 9 倍是 162,1+6+2=9。对于 18 而言,9 就是它的初心。本题要求你判断任一个给定的数是否有不变的初心。输入格式:输入在第一行中给出一个正整数 N(≤ 100)。随后 N 行,每行给出一个不超过 105 的正整数。输出格式:原创 2021-05-10 09:31:57 · 6468 阅读 · 1 评论