自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

酒色财气君莫沾

目前在学习C语言,准备参加ACM

  • 博客(62)
  • 收藏
  • 关注

原创 20220219寒假学校周赛

title: 2022寒假周赛4date: 2020-02-19tags: ACMA.直角三角形知识点:二分思路:直角三角形肯定是三角形,所以只需要判断a2+b2=c2a^2+b^2=c^2a2+b2=c2。设三边变成分别为a,b,c(c>a,b)所以可知{a2+b2=k2(k>a,b)a2+k2=b2(b>a,k)\begin{cases}a^2+b^2=k^2 (k>a,b)\\[2ex]a^2+k^2=b^2 (b>a,k)\end{cases}⎩.

2022-02-20 15:29:19 651

原创 Java SetModal问题 dispose()失效 退出不了

this.setVisible(true);// this.setModal(true); this.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE); this.setBounds(300, 400, 470, 200); this.setResizable(false);

2021-06-16 00:35:06 649 2

原创 HDU-1172 猜数字

猜数字游戏是gameboy最喜欢的游戏之一。游戏的规则是这样的:计算机随机产生一个四位数,然后玩家猜这个四位数是什么。每猜一个数,计算机都会告诉玩家猜对几个数字,其中有几个数字在正确的位置上。比如计算机随机产生的数字为1122。如果玩家猜1234,因为1,2这两个数字同时存在于这两个数中,而且1在这两个数中的位置是相同的,所以计算机会告诉玩家猜对了2个数字,其中一个在正确的位置。如果玩家猜1111,那么计算机会告诉他猜对2个数字,有2个在正确的位置。现在给你一段gameboy与计算机的对话过程,你的任务

2021-01-22 22:56:06 366 1

原创 拼题A 2021 跨年挑战赛 7-5 整除阶乘 (15分)

本题要求你在给定区间[a,b]内找出使得n​2​​+1整除n!的所有正整数n。输入格式:输入在一行中给出两个正整数0<a<b≤10​4​​,其中(b−a)≤20。输出格式:按照递增顺序,每行输出一个满足题面条件的n。如果解不存在,则输出None。输入样例 1:30 50输出样例 1:384347输入样例 2:50 55输出样例 2:None...

2021-01-04 13:46:32 418

原创 拼题A 2021 跨年挑战赛_7-4 相生相克 (15分)

古代先民认为,天下万物皆由五类元素组成,分别是金、木、水、火、土,彼此之间存在相生相克的关系。相生关系为:木生火,火生土,土生金,金生水,水生木。相克关系为:金克木,木克土,土克水,水克火,火克金。本题就请你编写程序,判断任意一对给定的元素之间的关系。输入格式:输入在一行中给出一个正整数 N(≤10),随后 N 行,每行给出 2 个正整数A和B,为两种元素的编号。这里假设金、木、水、火、土的编号顺次为 1、2、3、4、5。输出格式:对输入的每一对A和B,如果A生...

2021-01-04 13:08:01 864

原创 拼题A 2021 跨年挑战赛_7-2 射击成绩 (10分)

上图是 10m 气手枪靶纸。10 环的直径为 11.5mm,9 环的直径为 27.5mm,8 环的直径为 43.5mm。7~10 环区为黑色,直径为 59.5mm,外环直径为 155.5mm。1~6 环区直径差均为常数。当所有环线标记都被擦除,你还能否判断成绩?输入格式:输入在一行中给出一个选手射击的点到靶心的直线距离,以微米(10​−3​​毫米)为单位。输出格式:根据输入的距离,输出该选手得到的环值。注意:脱靶计 0 分。输入样例 1:13100输出样例 1:...

2021-01-04 10:57:20 603

原创 习题9-5 通讯录排序

输入n个朋友的信息,包括姓名、生日、电话号码,本题要求编写程序,按照年龄从大到小的顺序依次输出通讯录。题目保证所有人的生日均不相同。输入格式:输入第一行给出正整数n(<10)。随后n行,每行按照“姓名 生日 电话号码”的格式给出一位朋友的信息,其中“姓名”是长度不超过10的英文字母组成的字符串,“生日”是yyyymmdd格式的日期,“电话号码”是不超过17位的数字及+、-组成的字符串。输出格式:按照年龄从大到小输出朋友的信息,格式同输出。#include<stdio.h&g

2020-12-19 17:03:45 223 1

原创 习题9-4 查找书籍

给定n本书的名称和定价,本题要求编写程序,查找并输出其中定价最高和最低的书的名称和定价。输入格式:输入第一行给出正整数n(<10),随后给出n本书的信息。每本书在一行中给出书名,即长度不超过30的字符串,随后一行中给出正实数价格。题目保证没有同样价格的书。输出格式:在一行中按照“价格, 书名”的格式先后输出价格最高和最低的书。价格保留2位小数。#include<stdio.h>struct book{ char name[31]; double price;}

2020-12-19 17:03:12 195 1

原创 习题9-3 平面向量加法

本题要求编写程序,计算两个二维平面向量的和向量。输入格式:输入在一行中按照“x​1​​ y​1​​ x​2​​ y​2​​”的格式给出两个二维平面向量v​1​​=(x​1​​,y​1​​)和v​2​​=(x​2​​,y​2​​)的分量。输出格式:在一行中按照(x, y)的格式输出和向量,坐标输出小数点后一位(注意不能输出−0.0)。#include<stdio.h>#include<math.h>int main(){ double x1,y1,x2,y2

2020-12-19 17:02:41 135 1

原创 习题9-1 时间换算

本题要求编写程序,以hh:mm:ss的格式输出某给定时间再过n秒后的时间值(超过23:59:59就从0点开始计时)。输入格式:输入在第一行中以hh:mm:ss的格式给出起始时间,第二行给出整秒数n(<60)。输出格式:输出在一行中给出hh:mm:ss格式的结果时间。#include<stdio.h>int main(){ int h,m,s,n; scanf("%d:%d:%d %d",&h,&m,&s,&n); s+=n;

2020-12-19 17:02:08 250 1

原创 习题8-10 输出学生成绩

本题要求编写程序,根据输入学生的成绩,统计并输出学生的平均成绩、最高成绩和最低成绩。建议使用动态内存分配来实现。输入格式:输入第一行首先给出一个正整数N,表示学生的个数。接下来一行给出N个学生的成绩,数字间以空格分隔。输出格式:按照以下格式输出:average = 平均成绩max = 最高成绩min = 最低成绩结果均保留两位小数。#include<stdio.h>#include<stdlib.h>int main(){ int n,i,*

2020-12-19 17:01:32 381 1

原创 习题7-8 字符串转换成十进制整数

输入一个以#结束的字符串,本题要求滤去所有的非十六进制字符(不分大小写),组成一个新的表示十六进制数字的字符串,然后将其转换为十进制数后输出。如果在第一个十六进制字符之前存在字符“-”,则代表该数是负数。输入格式:输入在一行中给出一个以#结束的非空字符串。输出格式:在一行中输出转换后的十进制数。题目保证输出在长整型范围内。#include<stdio.h>#include<ctype.h>#include<math.h>int main(){

2020-12-19 16:59:27 366 1

原创 习题7-7 字符串替换

本题要求编写程序,将给定字符串中的大写英文字母按以下对应规则替换:原字母 对应字母 A Z B Y C X D W … … X C Y B Z A 输入格式:输入在一行中给出一个不超过80个字符、并以回车结束的字符串。输出格式:输出在一行中给出替换完成后的字符串。#include<stdio.h>#include<ctype.h>int main(){ char a[

2020-12-19 16:58:51 275 1

原创 习题7-6 统计大写辅音字母

英文辅音字母是除A、E、I、O、U以外的字母。本题要求编写程序,统计给定字符串中大写辅音字母的个数。输入格式:输入在一行中给出一个不超过80个字符、并以回车结束的字符串。输出格式:输出在一行中给出字符串中大写辅音字母的个数。#include<stdio.h>#include<ctype.h>int main(){ char a[81]; int cnt; fgets(a,80,stdin); cnt=0; for(int i=0;a[i]!='\0

2020-12-19 16:58:12 213 1

原创 习题7-5 找鞍点 (20分)

一个矩阵元素的“鞍点”是指该位置上的元素值在该行上最大、在该列上最小。本题要求编写程序,求一个给定的n阶方阵的鞍点。输入格式:输入第一行给出一个正整数n(1≤n≤6)。随后n行,每行给出n个整数,其间以空格分隔。输出格式:输出在一行中按照“行下标 列下标”(下标从0开始)的格式输出鞍点的位置。如果鞍点不存在,则输出“NONE”。题目保证给出的矩阵至多存在一个鞍点。...

2020-11-16 17:35:29 147 1

原创 习题7-4 求矩阵各行元素之和 (15分)

本题要求编写程序,求一个给定的m×n矩阵各行元素之和。输入格式:输入第一行给出两个正整数m和n(1≤m,n≤6)。随后m行,每行给出n个整数,其间以空格分隔。输出格式:每行输出对应矩阵行元素之和。#include<stdio.h>int main(){ int m,n,a[6][6],sum,i,j; while(scanf("%d %d",&m,&n)!=EOF){ for(i=0;i<m;i++){ sum=0; for(

2020-11-15 22:45:39 169

原创 习题7-3 判断上三角矩阵 (15分)

上三角矩阵指主对角线以下的元素都为0的矩阵;主对角线为从矩阵的左上角至右下角的连线。本题要求编写程序,判断一个给定的方阵是否上三角矩阵。输入格式:输入第一行给出一个正整数T,为待测矩阵的个数。接下来给出T个矩阵的信息:每个矩阵信息的第一行给出一个不超过10的正整数n。随后n行,每行给出n个整数,其间以空格分隔。输出格式:每个矩阵的判断结果占一行。如果输入的矩阵是上三角矩阵,输出“YES”,否则输出“NO”。思路:原本想在中途遇到下三角非0退出进行下一次,可是因为我是边读变操作的.

2020-11-15 22:39:26 289

原创 习题7-2 求一批整数中出现最多的个位数字

给定一批整数,分析每个整数的每一位数字,求出现次数最多的个位数字。例如给定3个整数1234、2345、3456,其中出现最多次数的数字是3和4,均出现了3次。输入格式:输入在第1行中给出正整数N(≤1000),在第二行中给出N个不超过整型范围的非负整数,数字间以空格分隔。输出格式:在一行中按格式“M: n1 n2 ...”输出,其中M是最大次数,n1、n2、……为出现次数最多的个位数字,按从小到大的顺序排列。数字间以空格分隔,但末尾不得有多余空格。#include<stdio.h

2020-11-07 10:38:03 3163 3

原创 习题7-1 选择法排序

本题要求将给定的n个整数从大到小排序后输出。输入格式:输入第一行给出一个不超过10的正整数n。第二行给出n个整数,其间以空格分隔。输出格式:在一行中输出从大到小有序的数列,相邻数字间有一个空格,行末不得有多余空格。#include<stdio.h>int main(void){ int n,i,j,a[10],idx; while(scanf("%d",&n)!=EOF){ for(i=0;i<n;i++){ scanf("%d",&a

2020-11-07 09:59:08 489

原创 练习7-11 字符串逆序

输入一个字符串,对该字符串进行逆序,输出逆序后的字符串。输入格式:输入在一行中给出一个不超过80个字符长度的、以回车结束的非空字符串。输出格式:在一行中输出逆序后的字符串。#include<stdio.h>int main(void){ int i,j; char ch[81]; i=-1; do{ i++; scanf("%c",&ch[i]); }while(ch[i]!='\n'); for(j=i-1;j>-1;j

2020-11-07 09:58:17 1017

原创 Kali Linux修改root密码

①开机选择第二项,点击回车进入图二界面图一图二②点击键盘上的“E",进入图三界面图三③光标定位在图四的位置在“ro quiet”输入“ splash init=/bin/bash”图四④ 修改确认无误之后,按“F10”或者“Ctrl+C”“Ctrl+X”即可进入单用户模式(如图五所示)⑤passwd 用户名,这边修改的是root,所以输入“passwd root”,然后回车就可以输入新密码了,一共输入两次,密码不显示出来,输入完之后有,回车就完事了!⑥输入reboot⑦上..

2020-11-05 09:14:41 1720 2

原创 练习7-9 计算天数

本题要求编写程序计算某年某月某日是该年中的第几天。输入格式:输入在一行中按照格式“yyyy/mm/dd”(即“年/月/日”)给出日期。注意:闰年的判别条件是该年年份能被4整除但不能被100整除、或者能被400整除。闰年的2月有29天。输出格式:在一行输出日期是该年中的第几天。思路:因为我懒得去用for输入,或者说我不知道怎么输入,所以我使用了一个数组,将它保存每一个月的天数。#include<stdio.h>int main(void){ int y,m,d,.

2020-11-03 22:52:14 491

原创 练习7-8 方阵循环右移

本题要求编写程序,将给定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 1 5 6 4 8 9 7 思路:偏移量已

2020-11-03 22:50:28 469 1

原创 练习7-7 矩阵运算

给定一个n×n的方阵,本题要求计算该矩阵除副对角线、最后一列和最后一行以外的所有元素之和。副对角线为从矩阵的右上角至左下角的连线。输入格式:输入第一行给出正整数n(1<n≤10);随后n行,每行给出n个整数,其间以空格分隔。输出格式:在一行中给出该矩阵除副对角线、最后一列和最后一行以外的所有元素之和。矩阵的术语与二维数组下标的对应关系 术语 含义 下标规律 主对角线 从矩阵的左上角至右下角的连线 i==j 上三角 主对角线以上的部分 i

2020-11-03 22:45:16 185

原创 练习7-4 找出不是两个数组共有的元素

给定两个整型数组,本题要求找出不是两者共有的元素。输入格式:输入分别在两行中给出两个整型数组,每行先给出正整数N(≤20),随后是N个整数,其间以空格分隔。输出格式:在一行中按照数字给出的顺序输出不是两数组共有的元素,数字间以空格分隔,但行末不得有多余的空格。题目保证至少存在一个这样的数字。同一数字不重复输出。输入样例:10 3 -5 2 8 0 3 5 -15 9 10011 6 4 8 2 6 -5 9 0 100 8 1输出样例:3 5 -15 6 4 1注

2020-11-03 22:39:33 12086 16

原创 练习7-3 将数组中的数逆序存放

本题要求编写程序,将给定的n个整数存入数组中,将数组中的这n个数逆序存放,再按顺序输出数组中的元素。输入格式:输入在第一行中给出一个正整数n(1≤n≤10)。第二行输入n个整数,用空格分开。输出格式:在一行中输出这n个整数的处理结果,相邻数字中间用一个空格分开,行末不得有多余空格。#include<stdio.h>int main(void){ int n,a[10]; while(scanf("%d",&n)!=EOF){ for(int i=0;i&

2020-11-03 22:34:53 2482

原创 练习7-2 求最大值及其下标

本题要求编写程序,找出给定的n个数中的最大值及其对应的最小下标(下标从0开始)。输入格式:输入在第一行中给出一个正整数n(1<n≤10)。第二行输入n个整数,用空格分开。输出格式:在一行中输出最大值及最大值的最小下标,中间用一个空格分开。#include<stdio.h>int main(void){ int n,max,k,a; while(scanf("%d",&n)!=EOF){ scanf("%d",&max); k=0;

2020-11-03 22:34:23 177

原创 习题6-8 统计一行文本的单词个数

本题目要求编写程序统计一行字符中单词的个数。所谓“单词”是指连续不含空格的字符串,各单词之间用空格分隔,空格数可以是多个。输入格式:输入给出一行字符。输出格式:在一行中输出单词个数。...

2020-11-02 09:33:42 427

原创 习题6-7 简单计算器

模拟简单运算器的工作。假设计算器只能进行加减乘除运算,运算数和结果都是整数,四种运算符的优先级相同,按从左到右的顺序计算。输入格式:输入在一行中给出一个四则运算算式,没有空格,且至少有一个操作数。遇等号”=”说明输入结束。输出格式:在一行中输出算式的运算结果,或者如果除法分母为0或有非法运算符,则输出错误信息“ERROR”。思路:scanf("%d",&b);这条语句会取到非数字为止,所以我们可以不做多余的判断运算符号前面的数值,所以我们只需要判断其他条件即可#inc.

2020-10-28 00:02:59 701

原创 习题4-11 兔子繁衍问题

一对兔子,从出生后第3个月起每个月都生一对兔子。小兔子长到第3个月后每个月又生一对兔子。假如兔子都不死,请问第1个月出生的一对兔子,至少需要繁衍到第几个月时兔子总数才可以达到N对?输入格式:输入在一行中给出一个不超过10000的正整数N。输出格式:在一行中输出兔子总数达到N最少需要的月数。思路:找规律,在下方表格中,你会发现除了1月和2月以外,兔子的对数都是前两个月之和,而这也就是我们常见的斐波那契数列。既然如此,我们可以使用递归来找到第n月有多少只兔子,当然题目要我们求的是月数,而不是

2020-10-27 23:59:26 915

原创 习题4-10 猴子吃桃问题

一只猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个;第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半加一个。到第N天早上想再吃时,见只剩下一个桃子了。问:第一天共摘了多少个桃子?输入格式:输入在一行中给出正整数N(1<N≤10)。输出格式:在一行中输出第一天共摘了多少个桃子。思路:①可以使用for函数来倒推找出第一天摘了桃子的数量②可以使用递归来推算出第一天摘的桃子的数量#include<stdio.h>.

2020-10-27 23:49:49 398

原创 习题4-9 打印菱形图案

本题要求编写程序,打印一个高度为n的、由“*”组成的正菱形图案。输入格式:输入在一行中给出一个正的奇数n。输出格式:输出由n行星号“*”组成的菱形,如样例所示。每个星号后跟一个空格。思路:菱形是对角线对称图形,因为输出是一行一行输出的,所以可以将上下分为两部分,而对称性与数字的正负刚好相同,所以将最上方视为-n/2(c中整数相除为整数),最下方视为n/2。然后找出规律即可。输入样例:7输出样例:-3 * -2 * * * -1 * * *

2020-10-27 23:45:21 656

原创 习题4-8 高空坠球

皮球从某给定高度自由落下,触地后反弹到原高度的一半,再落下,再反弹,……,如此反复。问皮球在第n次落地时,在空中一共经过多少距离?第n次反弹的高度是多少?输入格式:输入在一行中给出两个非负整数,分别是皮球的初始高度和n,均在长整型范围内。输出格式:在一行中顺序输出皮球第n次落地时在空中经过的距离、以及第n次反弹的高度,其间以一个空格分隔,保留一位小数。题目保证计算结果不超过双精度范围。#include<stdio.h>int main(void){ long n; d

2020-10-27 00:24:23 263

原创 习题4-7 最大公约数和最小公倍数

本题要求两个给定正整数的最大公约数和最小公倍数。输入格式:输入在一行中给出两个正整数M和N(≤1000)。输出格式:在一行中顺序输出M和N的最大公约数和最小公倍数,两数字间以1空格分隔。#include<stdio.h>int main(void){ int m,n,r,product; scanf("%d %d",&m,&n); product=m*n; do{ r=m%n; m=n; n=r; }while(n!=0); pri

2020-10-27 00:22:23 482

原创 习题4-6 水仙花数

水仙花数是指一个N位正整数(N≥3),它的每个位上的数字的N次幂之和等于它本身。例如:153=1​3​​+5​3​​+3​3​​。 本题要求编写程序,计算所有N位水仙花数。输入格式:输入在一行中给出一个正整数N(3≤N≤7)。输出格式:按递增顺序输出所有N位水仙花数,每个数字占一行。#include<stdio.h>#include<math.h>void fun(int num,int n){ int digit,temp; double sum=0;

2020-10-27 00:19:41 441

原创 习题4-5 换硬币

将一笔零钱换成5分、2分和1分的硬币,要求每种硬币至少有一枚,有几种不同的换法?输入格式:输入在一行中给出待换的零钱数额x∈(8,100)。输出格式:要求按5分、2分和1分硬币的数量依次从大到小的顺序,输出各种换法。每行输出一种换法,格式为:“fen5:5分硬币数量, fen2:2分硬币数量, fen1:1分硬币数量, total:硬币总数量”。最后一行输出“count = 换法个数”。#include<stdio.h>int main(void){ int x,i,j

2020-10-27 00:05:20 145

原创 习题4-3 求分数序列前N项和

本题要求编写程序,计算序列 2/1+3/2+5/3+8/5+... 的前N项之和。注意该序列从第2项起,每一项的分子是前一项分子与分母的和,分母是前一项的分子。输入格式:输入在一行中给出一个正整数N。输出格式:在一行中输出部分和的值,精确到小数点后两位。题目保证计算结果不超过双精度范围。#include<stdio.h>int main(void){ int n,i; double sum,a,b;//分子分母不能定义为整数 scanf("%d",&n)

2020-10-26 21:13:28 1286

原创 习题4-2 求幂级数展开的部分和

已知函数e​x​​可以展开为幂级数1+x+x​2​​/2!+x​3​​/3!+⋯+x​k​​/k!+⋯。现给定一个实数x,要求利用此幂级数部分和求e​x​​的近似值,求和一直继续到最后一项的绝对值小于0.00001。输入格式:输入在一行中给出一个实数x∈[0,5]。输出格式:在一行中输出满足条件的幂级数部分和,保留小数点后四位。#include<stdio.h>#include<math.h>int main(void){ int i,count,j;

2020-10-26 21:12:53 188

原创 习题4-1 求奇数和

本题要求计算给定的一系列正整数中奇数的和。输入格式:输入在一行中给出一系列正整数,其间以空格分隔。当读到零或负整数时,表示输入结束,该数字不要处理。输出格式:在一行中输出正整数序列中奇数的和。#include<stdio.h>int main(void){ int a,sum; do{ scanf("%d",&a); if(a>0){ if(a%2!=0) sum+=a; } else{ break; } }while

2020-10-26 21:12:21 123 1

原创 练习4-7 求e的近似值

自然常数 e 可以用级数 1+1/1!+1/2!+⋯+1/n!+⋯ 来近似计算。本题要求对给定的非负整数 n,求该级数的前 n+1 项和。输入格式:输入第一行中给出非负整数 n(≤1000)。输出格式:在一行中输出部分和的值,保留小数点后八位。#include<stdio.h>int main(void){ int i,n; double sum,j;//1000!超过了整数的最大范围 j=sum=1; scanf("%d",&n); for(i=1;i

2020-10-26 21:09:23 1265 2

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除