M2021
向上Claire
这个作者很懒,什么都没留下…
展开
-
7-47 二进制的前导的零
/*7-47 二进制的前导的零 (10 分)计算机内部用二进制来表达所有的值。一个十进制的数字,比如24,在一个32位的计算机内部被表达为00000000000000000000000000011000。可以看到,从左边数过来,在第一个1之前,有27个0。我们把这些0称作前导的零。现在,你的任务是写一个程序,输入一个整数,输出在32位表达下它前导的零的个数。输入格式:一个整数,在32位的整数可以表达的范围内。输出格式:一个整数,表达输入被表达为一个32位的二进制数时,在第一个1之前的0的原创 2021-11-19 19:55:37 · 100 阅读 · 0 评论 -
7-46 爬动的蠕虫
/*7-46 爬动的蠕虫 (15 分)一条蠕虫长1寸,在一口深为N寸的井的底部。已知蠕虫每1分钟可以向上爬U寸,但必须休息1分钟才能接着往上爬。在休息的过程中,蠕虫又下滑了D寸。就这样,上爬和下滑重复进行。请问,蠕虫需要多长时间才能爬出井?这里要求不足1分钟按1分钟计,并且假定只要在某次上爬过程中蠕虫的头部到达了井的顶部,那么蠕虫就完成任务了。初始时,蠕虫是趴在井底的(即高度为0)。输入格式:输入在一行中顺序给出3个正整数N、U、D,其中D<U,N不超过100。输出格式:在一行中输原创 2021-11-19 19:40:12 · 77 阅读 · 0 评论 -
7-55 查询水果价格
/*7-55 查询水果价格 (15 分)给定四种水果,分别是苹果(apple)、梨(pear)、桔子(orange)、葡萄(grape),单价分别对应为3.00元/公斤、2.50元/公斤、4.10元/公斤、10.20元/公斤。首先在屏幕上显示以下菜单:[1] apple[2] pear[3] orange[4] grape[0] exit用户可以输入编号1~4查询对应水果的单价。当连续查询次数超过5次时,程序应自动退出查询;不到5次而用户输入0即退出;输入其他编号,显示价格为0。输原创 2021-11-03 23:23:57 · 284 阅读 · 0 评论 -
7-82 打印沙漏
/*7-82 打印沙漏 (20 分)本题要求你写个程序把给定的符号打印成沙漏的形状。例如给定17个“*”,要求按下列格式打印***** *** * ********所谓“沙漏形状”,是指每行输出奇数个符号;各行符号中心对齐;相邻两行符号数差2;符号数先从大到小顺序递减到1,再从小到大顺序递增;首尾符号数相等。给定任意N个符号,不一定能正好组成一个沙漏。要求打印出的沙漏能用掉尽可能多的符号。输入格式:输入在一行给出1个正整数N(≤1000)和一个符号,中间以空格分隔。输出格式原创 2021-11-03 21:45:32 · 121 阅读 · 0 评论 -
7-58 求幂级数展开的部分和
/*7-58 求幂级数展开的部分和 (20 分)已知函数e 现给定一个实数x,要求利用此幂级数部分和求e x 的近似值,求和一直继续到最后一项的绝对值小于0.00001。输入格式:输入在一行中给出一个实数x∈[0,5]。输出格式:在一行中输出满足条件的幂级数部分和,保留小数点后四位。输入样例:1.2结尾无空行输出样例:3.3201*/#include<stdio.h>#include<math.h>int main(void){ do原创 2021-11-03 21:24:09 · 872 阅读 · 0 评论 -
7-57 求e的近似值
/*7-57 求e的近似值 (15 分)自然常数 e 可以用级数 1+1/1!+1/2!+?+1/n!+? 来近似计算。本题要求对给定的非负整数 n,求该级数的前 n+1 项和。输入格式:输入第一行中给出非负整数 n(≤1000)。输出格式:在一行中输出部分和的值,保留小数点后八位。输入样例:10结尾无空行输出样例:2.71828180*/#include<stdio.h>int main(void){ double fun(int n); int原创 2021-11-03 21:14:28 · 178 阅读 · 0 评论 -
7-56 求给定精度的简单交错序列部分和
/*7-56 求给定精度的简单交错序列部分和本题要求编写程序,计算序列部分和 1 - 1/4 + 1/7 - 1/10 + ... 直到最后一项的绝对值不大于给定精度eps。输入格式:输入在一行中给出一个正实数eps。输出格式:在一行中按照“sum = S”的格式输出部分和的值S,精确到小数点后六位。题目保证计算结果不超过双精度范围。输入样例1:4E-2结尾无空行输出样例1:sum = 0.854457结尾无空行输入样例2:0.02输出样例2:sum = 0.82631原创 2021-11-03 21:09:20 · 160 阅读 · 0 评论 -
NC70 单链表的排序
/** * struct ListNode { * int val; * struct ListNode *next; * }; *//** * * @param head ListNode类 the head node * @return ListNode类 */struct ListNode* sortInList(struct ListNode* head ) { // write code here struct ListNode *p1,*p2,*p3;原创 2021-10-30 18:27:28 · 109 阅读 · 0 评论 -
7-59 打印菱形图案
/*7-59 打印菱形图案 (15 分)本题要求编写程序,打印一个高度为n的、由“*”组成的正菱形图案。输入格式:输入在一行中给出一个正的奇数n。输出格式:输出由n行星号“*”组成的菱形,如样例所示。每个星号后跟一个空格。*//*#include<stdio.h>int main(void){ int n; scanf("%d",&n); //上半部分的行数 int line = n/2+1;//大部分是奇数,5/2=2 for(int i=原创 2021-10-27 21:42:54 · 562 阅读 · 0 评论 -
7-66 时间换算
/*7-66 时间换算 (15 分)本题要求编写程序,以hh:mm:ss的格式输出某给定时间再过n秒后的时间值(超过23:59:59就从0点开始计时)。输入格式:输入在第一行中以hh:mm:ss的格式给出起始时间,第二行给出整秒数n(<60)。输出格式:输出在一行中给出hh:mm:ss格式的结果时间。*/#include<stdio.h>int main(void){ int hh,mm,ss; int n; scanf("%d:%d:%d",&h原创 2021-10-24 09:45:17 · 199 阅读 · 0 评论 -
7-53 生成3的乘方表
/*7-53 生成3的乘方表 (15 分)输入一个非负整数n,生成一张3的乘方表,输出3 0 ~3 n 的值。可调用幂函数计算3的乘方。输入格式:输入在一行中给出一个非负整数n。输出格式:按照幂的递增顺序输出n+1行,每行格式为“pow(3,i) = 3的i次幂的值”。题目保证输出数据不超过长整型整数的范围。*/#include<stdio.h>int pow(int n);int main(void){ int n,i; scanf("%d",&原创 2021-10-24 09:45:05 · 154 阅读 · 0 评论 -
7-52 求简单交错序列前N项和
/*7-52 求简单交错序列前N项和 (15 分)本题要求编写程序,计算序列 1 - 1/4 + 1/7 - 1/10 + ... 的前N项之和。输入格式:输入在一行中给出一个正整数N。输出格式:在一行中按照“sum = S”的格式输出部分和的值S,精确到小数点后三位。题目保证计算结果不超过双精度范围。*/#include<stdio.h>int main(void){ int n; scanf("%d",&n); int i,j=1,flag = 1;原创 2021-10-24 09:44:56 · 198 阅读 · 0 评论 -
7-50 输出华氏-摄氏温度转换表
/*7-50 输出华氏-摄氏温度转换表 (15 分)输入2个正整数lower和upper(lower≤upper≤100),请输出一张取值范围为[lower,upper]、且每次增加2华氏度的华氏-摄氏温度转换表。温度转换的计算公式:C=5×(F?32)/9,其中:C表示摄氏温度,F表示华氏温度。输入格式:在一行中输入2个整数,分别表示lower和upper的值,中间用空格分开。输出格式:第一行输出:"fahr celsius"接着每行输出一个华氏温度fahr(整型)与一个摄氏温度c原创 2021-10-24 09:44:45 · 277 阅读 · 0 评论 -
7-48 求组合数
/*7-48 求组合数 (15 分)本题要求编写程序,根据公式C nm? = m!(n?m)!n!? 算出从n个不同元素中取出m个元素(m≤n)的组合数。建议定义和调用函数fact(n)计算n!,其中n的类型是int,函数类型是double。输入格式:输入在一行中给出两个正整数m和n(m≤n),以空格分隔。输出格式:按照格式“result = 组合数计算结果”输出。题目保证结果在double类型范围内。*/#include<stdio.h>d原创 2021-10-24 09:44:19 · 100 阅读 · 0 评论 -
7-65 字符串替换
/*7-65 字符串替换 (15 分)本题要求编写程序,将给定字符串中的大写英文字母按以下对应规则替换:原字母 对应字母A ZB YC XD W… …X CY BZ A输入格式:输入在一行中给出一个不超过80个字符、并以回车结束的字符串。输出格式:输出在一行中给出替换完成后的字符串。*/#include<stdio.h>int main(void){ char a[80],d; int i=0,j; while((d = getchar())原创 2021-10-24 09:44:31 · 145 阅读 · 0 评论 -
7-80 打折
/*7-80 打折 (5 分)去商场淘打折商品时,计算打折以后的价钱是件颇费脑子的事情。例如原价 ¥988,标明打 7 折,则折扣价应该是 ¥988 x 70% = ¥691.60。本题就请你写个程序替客户计算折扣价。输入格式:输入在一行中给出商品的原价(不超过1万元的正整数)和折扣(为[1, 9]区间内的整数),其间以空格分隔。输出格式:在一行中输出商品的折扣价,保留小数点后 2 位。*/#include<stdio.h>int main(void){ int原创 2021-10-24 09:44:08 · 177 阅读 · 0 评论 -
7-79 N个数求和
/*7-79 N个数求和 (20 分)本题的要求很简单,就是求N个数字的和。麻烦的是,这些数字是以有理数分子/分母的形式给出的,你输出的和也必须是有理数的形式。输入格式:输入第一行给出一个正整数N(≤100)。随后一行按格式a1/b1 a2/b2 ...给出N个有理数。题目保证所有分子和分母都在长整型范围内。另外,负数的符号一定出现在分子前面。输出格式:输出上述数字和的最简形式 —— 即将结果写成整数部分 分数部分,其中分数部分写成分子/分母,要求分子小于分母,且它们没有公因子。如果结果的整原创 2021-10-24 09:43:59 · 133 阅读 · 0 评论 -
7-78 计算油费
/*7-78 计算油费 (15 分)现在90号汽油6.95元/升、93号汽油7.44元/升、97号汽油7.93元/升。为吸引顾客,某自动加油站推出了“自助服务”和“协助服务”两个服务等级,分别可得到5%和3%的折扣。本题要求编写程序,根据输入顾客的加油量a,汽油品种b(90、93或97)和服务类型c(m - 自助,e - 协助),计算并输出应付款。输入格式:输入在一行中给出两个整数和一个字符,分别表示顾客的加油量a,汽油品种b(90、93或97)和服务类型c(m - 自助,e - 协助)。原创 2021-10-24 09:43:50 · 279 阅读 · 0 评论 -
7-76 计算分段函数[3]
/*7-76 计算分段函数[3] (10 分)本题目要求计算下列分段函数f(x)的值:输入格式:输入在一行中给出实数x。输出格式:在一行中按“f(x) = result”的格式输出,其中x与result都保留一位小数。*/#include<stdio.h>int main(void){ double x; scanf("%lf",&x); if(x == 10) { printf("f(%.1f) = %.1f",x,1/x); } e原创 2021-10-23 11:34:46 · 127 阅读 · 0 评论 -
7-71 求平方与倒数序列的部分和
/*7-71 求平方与倒数序列的部分和 (15 分)本题要求对两个正整数m和n(m≤n)编写程序,计算序列和m 2 +1/m+(m+1) 2 +1/(m+1)+?+n 2 +1/n。输入格式:输入在一行中给出两个正整数m和n(m≤n),其间以空格分开。输出格式:在一行中按照“sum = S”的格式输出部分和的值S,精确到小数点后六位。题目保证计算结果不超过双精度范围。输入样例:5 10结尾无空行输出样例:sum = 355.845635*/#include&l原创 2021-10-23 10:58:24 · 290 阅读 · 0 评论 -
7-70 输出三角形面积和周长 (15 分)
/*7-70 输出三角形面积和周长 (15 分)本题要求编写程序,根据输入的三角形的三条边a、b、c,计算并输出面积和周长。注意:在一个三角形中, 任意两边之和大于第三边。三角形面积计算公式:area= s(s?a)(s?b)(s?c)? ,其中s=(a+b+c)/2。输入格式:输入为3个正整数,分别代表三角形的3条边a、b、c。输出格式:如果输入的边能构成一个三角形,则在一行内,按照area = 面积; perimeter = 周长的格式输出,保留两位小数。否则,输出Th原创 2021-10-23 10:47:43 · 369 阅读 · 0 评论 -
7-69 换硬币
/*7-69 换硬币 (20 分)将一笔零钱换成5分、2分和1分的硬币,要求每种硬币至少有一枚,有几种不同的换法?输入格式:输入在一行中给出待换的零钱数额x∈(8,100)。输出格式:要求按5分、2分和1分硬币的数量依次从大到小的顺序,输出各种换法。每行输出一种换法,格式为:“fen5:5分硬币数量, fen2:2分硬币数量, fen1:1分硬币数量, total:硬币总数量”。最后一行输出“count = 换法个数”。*/#include<stdio.h>int ma原创 2021-10-23 10:25:04 · 144 阅读 · 0 评论 -
7-68 求N分之一序列前N项和
/*7-68 求N分之一序列前N项和 (15 分)本题要求编写程序,计算序列 1 + 1/2 + 1/3 + ... 的前N项之和。输入格式:输入在一行中给出一个正整数N。输出格式:在一行中按照“sum = S”的格式输出部分和的值S,精确到小数点后6位。题目保证计算结果不超过双精度范围。*/#include<stdio.h>int main(void){ int n; scanf("%d",&n); double sum =0; for(in原创 2021-10-23 10:01:13 · 108 阅读 · 0 评论 -
7-63 高空坠球
/*7-63 高空坠球 (20 分)皮球从某给定高度自由落下,触地后反弹到原高度的一半,再落下,再反弹,……,如此反复。问皮球在第n次落地时,在空中一共经过多少距离?第n次反弹的高度是多少?输入格式:输入在一行中给出两个非负整数,分别是皮球的初始高度和n,均在长整型范围内。输出格式:在一行中顺序输出皮球第n次落地时在空中经过的距离、以及第n次反弹的高度,其间以一个空格分隔,保留一位小数。题目保证计算结果不超过双精度范围。输入样例:33 5结尾无空行输出样例:94.9 1.0*原创 2021-10-23 10:01:01 · 70 阅读 · 0 评论 -
7-64 统计大写辅音字母
7-64 统计大写辅音字母 (15 分)英文辅音字母是除A、E、I、O、U以外的字母。本题要求编写程序,统计给定字符串中大写辅音字母的个数。输入格式:输入在一行中给出一个不超过80个字符、并以回车结束的字符串。输出格式:输出在一行中给出字符串中大写辅音字母的个数。输入样例:HELLO World!结尾无空行输出样例:4/*7-64统计大写辅音字母 */ #include<stdio.h>int main(void){ char a[100]; gets(a)原创 2021-10-23 09:21:49 · 118 阅读 · 0 评论 -
7-54 求阶乘序列前N项和
/*7-54 求阶乘序列前N项和 (15 分)本题要求编写程序,计算序列 1!+2!+3!+? 的前N项之和。输入格式:输入在一行中给出一个不超过12的正整数N。输出格式:在一行中输出整数结果。*/#include<stdio.h>int f(int n);int main(void){ int n; scanf("%d",&n); int sum=0; for(int i=1;i<=n;i++) { sum += f(i); }原创 2021-10-14 00:10:44 · 128 阅读 · 0 评论 -
7-84 连续因子---重点
7-84 连续因子 (20 分)一个正整数 N 的因子中可能存在若干连续的数字。例如 630 可以分解为 3×5×6×7,其中 5、6、7 就是 3 个连续的数字。给定任一正整数 N,要求编写程序求出最长连续因子的个数,并输出最小的连续因子序列。输入格式:输入在一行中给出一个正整数 N(1<N<231)。输出格式:首先在第 1 行输出最长连续因子的个数;然后在第 2 行中按 因子1因子2……*因子k 的格式输出最小的连续因子序列,其中因子按递增顺序输出,1 不算在内。#inclu原创 2021-10-13 23:15:02 · 203 阅读 · 0 评论 -
7-86 整数四则运算
/*7-86 整数四则运算 (10 分)本题要求编写程序,计算2个正整数的和、差、积、商并输出。题目保证输入和输出全部在整型范围内。输入格式:输入在一行中给出2个正整数A和B。输出格式:在4行中按照格式“A 运算符 B = 结果”顺序输出和、差、积、商。*/#include<stdio.h>int main(void){ int a,b; scanf("%d %d",&a,&b); printf("%d + %d = %d\n",a,b,a+b原创 2021-10-14 10:05:12 · 97 阅读 · 0 评论 -
7-87 计算分段函数[1]
/*7-87 计算分段函数[1] (10 分)本题目要求计算下列分段函数f(x)的值:公式输入格式:输入在一行中给出实数x。输出格式:在一行中按“f(x) = result”的格式输出,其中x与result都保留一位小数。*/#include<stdio.h>int main(void){ double x; scanf("%lf",&x); if(x==0) { printf("f(0.0) = 0.0"); } else { pri原创 2021-10-14 10:05:18 · 296 阅读 · 0 评论 -
7-88 计算分段函数[2]
/*7-88 计算分段函数[2] (10 分)本题目要求计算下列分段函数f(x)的值:f2-11注:可在头文件中包含math.h,并调用sqrt函数求平方根,调用pow函数求幂。输入格式:输入在一行中给出实数x。输出格式:在一行中按“f(x) = result”的格式输出,其中x与result都保留两位小数。*/#include<stdio.h>#include<math.h>int main(void){ double x; scanf(原创 2021-10-14 10:05:22 · 310 阅读 · 0 评论 -
7-89 阶梯电价
/*7-89 阶梯电价 (15 分)为了提倡居民节约用电,某省电力公司执行“阶梯电价”,安装一户一表的居民用户电价分为两个“阶梯”:月用电量50千瓦时(含50千瓦时)以内的,电价为0.53元/千瓦时;超过50千瓦时的,超出部分的用电量,电价上调0.05元/千瓦时。请编写程序计算电费。输入格式:输入在一行中给出某用户的月用电量(单位:千瓦时)。输出格式:在一行中输出该用户应支付的电费(元),结果保留两位小数,格式如:“cost = 应付电费值”;若用电量小于0,则输出"Invalid Valu原创 2021-10-12 23:35:20 · 511 阅读 · 0 评论 -
7-90 统计字符
/*7-90 统计字符 (15 分)本题要求编写程序,输入10个字符,统计其中英文字母、空格或回车、数字字符和其他字符的个数。输入格式:输入为10个字符。最后一个回车表示输入结束,不算在内。输出格式:在一行内按照letter = 英文字母个数, blank = 空格或回车个数, digit = 数字字符个数, other = 其他字符个数的格式输出。*/#include<stdio.h>int main(void){ char a[11]; int i =0原创 2021-10-12 23:29:39 · 293 阅读 · 0 评论 -
7-91 输出闰年
/*7-91 输出闰年 (15 分)输出21世纪中截止某个年份以来的所有闰年年份。注意:闰年的判别条件是该年年份能被4整除但不能被100整除、或者能被400整除。输入格式:输入在一行中给出21世纪的某个截止年份。输出格式:逐行输出满足条件的所有闰年年份,即每个年份占一行。输入若非21世纪的年份则输出"Invalid year!"。若不存在任何闰年,则输出“None”。*/#include<stdio.h>int main(void){ int n; scanf("%原创 2021-10-12 23:14:19 · 174 阅读 · 0 评论 -
7-92 特殊a串数列求和
/*7-92 特殊a串数列求和 (20 分)给定两个均不超过9的正整数a和n,要求编写程序求a+aa+aaa++?+aa?a(n个a)之和。输入格式:输入在一行中给出不超过9的正整数a和n。输出格式:在一行中按照“s = 对应的和”的格式输出。*/#include<stdio.h>int main(void){ int a,n; scanf("%d %d",&a,&n); int sum=0,temp=1,temp2=0; for(int原创 2021-10-12 23:08:02 · 137 阅读 · 0 评论 -
7-95 计算火车运行时间
/*7-95 计算火车运行时间 (15 分)本题要求根据火车的出发时间和达到时间,编写程序计算整个旅途所用的时间。输入格式:输入在一行中给出2个4位正整数,其间以空格分隔,分别表示火车的出发时间和到达时间。每个时间的格式为2位小时数(00-23)和2位分钟数(00-59),假设出发和到达在同一天内。输出格式:在一行输出该旅途所用的时间,格式为“hh:mm”,其中hh为2位小时数、mm为2位分钟数。*/ #include<stdio.h>int main(void){原创 2021-10-12 23:00:49 · 466 阅读 · 0 评论 -
7-96 计算存款利息
/*7-96 计算存款利息 (10 分)本题目要求计算存款利息,计算公式为interest=money×(1+rate) year ?money,其中interest为存款到期时的利息(税前),money是存款金额,year是存期,rate是年利率。输入格式:输入在一行中顺序给出三个正实数money、year和rate,以空格分隔。输出格式:在一行中按“interest = 利息”的格式输出,其中利息保留两位小数。*/#include<stdio.h>#include原创 2021-10-12 00:41:53 · 244 阅读 · 0 评论 -
7-97 计算个人所得税
/*7-97 计算个人所得税 (10 分)假设个人所得税为:税率×(工资?1600)。请编写程序计算应缴的所得税,其中税率定义为:当工资不超过1600时,税率为0;当工资在区间(1600, 2500]时,税率为5%;当工资在区间(2500, 3500]时,税率为10%;当工资在区间(3500, 4500]时,税率为15%;当工资超过4500时,税率为20%。输入格式:输入在一行中给出非负工资。输出格式:在一行输出个人所得税,精确到小数点后2位*/#include<std原创 2021-10-12 00:36:48 · 229 阅读 · 0 评论 -
7-98 两个数的简单计算器
/*7-98 两个数的简单计算器 (10 分)本题要求编写一个简单计算器程序,可根据输入的运算符,对2个整数进行加、减、乘、除或求余运算。题目保证输入和输出均不超过整型范围。输入格式:输入在一行中依次输入操作数1、运算符、操作数2,其间以1个空格分隔。操作数的数据类型为整型,且保证除法和求余的分母非零。输出格式:当运算符为+、-、*、/、%时,在一行输出相应的运算结果。若输入是非法符号(即除了加、减、乘、除和求余五种运算符以外的其他符号)则输出ERROR。*/#include<s原创 2021-10-12 00:26:19 · 211 阅读 · 0 评论 -
7-100 逆序的三位数
/*7-100 逆序的三位数 (10 分)程序每次读入一个正3位数,然后输出按位逆序的数字。注意:当输入的数字含有结尾的0时,输出不应带有前导的0。比如输入700,输出应该是7。输入格式:每个测试是一个3位的正整数。输出格式:输出按位逆序的数。*///注意 中间1个0#include<stdio.h>int main(void){ int m; scanf("%d",&m); int a[3]; a[0] = m/100; a[1] = m/1原创 2021-10-12 00:17:54 · 130 阅读 · 0 评论 -
7-101 人民币兑换
/*7-101 人民币兑换 (15 分)1元5角钱人民币兑换5分、2分和1分的硬币(每一种都要有)共100枚,会有很多种兑换方案。请编写程序给出各种兑换方案。输入格式:输入为一个正整数n,表示要求输出前n种可能的方案。方案的顺序,是按照5分硬币从少到多排列的。输出格式:显示前n种方案中5分、2分、1分硬币各多少枚。每行显示一种方案,数字之间空一格,最后一个数字后没有空格。注意:如果全部方案不到n种,就顺序输出全部可能的方案。*/ /*1元5角5分 2分 1分10分 =1角1原创 2021-10-12 00:10:32 · 339 阅读 · 0 评论