- 博客(70)
- 收藏
- 关注
原创 5-8求最大值及其下标
本题要求编写程序,找出给定的n个数中的最大值及其对应的最小下标(下标从0开始)。输入格式:输入在第一行中给出一个正整数n(1<n≤10)。第二行输入n个整数,用空格分开。输出格式:在一行中输出最大值及最大值的最小下标,中间用一个空格分开。#include<stdio.h>int main(){ int n,a[10],j=0; scanf("%d",&n); for(int i = 0;i < n; i++) { ...
2022-01-04 15:27:16
367
原创 4-11 高空坠球
皮球从某给定高度自由落下,触地后反弹到原高度的一半,再落下,再反弹,……,如此反复。问皮球在第n次落地时,在空中一共经过多少距离?第n次反弹的高度是多少?输入格式:输入在一行中给出两个非负整数,分别是皮球的初始高度和n,均在长整型范围内。输出格式:在一行中顺序输出皮球第n次落地时在空中经过的距离、以及第n次反弹的高度,其间以一个空格分隔,保留一位小数。题目保证计算结果不超过双精度范围。# include<stdio.h>int main(){ int i,h,n;...
2022-01-04 15:26:24
122
原创 5-7大笨钟的心情
有网友问:未来还会有更多大笨钟题吗?笨钟回复说:看心情……本题就请你替大笨钟写一个程序,根据心情自动输出回答。输入格式:输入在一行中给出 24 个 [0, 100] 区间内的整数,依次代表大笨钟在一天 24 小时中,每个小时的心情指数。随后若干行,每行给出一个 [0, 23] 之间的整数,代表网友询问笨钟这个问题的时间点。当出现非法的时间点时,表示输入结束,这个非法输入不要处理。题目保证至少有 1 次询问。输出格式:对每一次提问,如果当时笨钟的心情指数大于 50,就在一行中输出心情.
2022-01-04 15:26:09
358
原创 5-7组合数的和
给定 N 个非 0 的个位数字,用其中任意 2 个数字都可以组合成 1 个 2 位的数字。要求所有可能组合出来的 2 位数字的和。例如给定 2、5、8,则可以组合出:25、28、52、58、82、85,它们的和为330。输入格式:输入在一行中先给出 N(1<N<10),随后给出 N 个不同的非 0 个位数字。数字间以空格分隔。输出格式:输出所有可能组合出来的2位数字的和。#include<stdio.h>int main(){ int a[10...
2022-01-04 15:25:00
630
原创 5-6 一维数组的次大值
输入一组整数(可以有重复数据),求第二大的值输入格式:第一行是数据个数n(大于2且小于20),第二行输入n个整数,空格分隔输出格式:输出这组数据中的次大值(注意最大值可能有多个)#include <stdio.h>int main(){ int i,n=0,x,y,max; scanf("%d",&y); max=y; for(i=1; i<y; i++) { scanf("%d",&x);...
2022-01-04 15:24:15
1662
原创 5-5有重复的数据I
在一大堆数据中找出重复的是一件经常要做的事情。现在,我们要处理许多整数,在这些整数中,可能存在重复的数据。你要写一个程序来做这件事情,读入数据,检查是否有重复的数据。如果有,输出“YES”这三个字母;如果没有,则输出“NO”。输入格式:你的程序首先会读到一个正整数n,1<=n<=100000。 然后是n个整数,这些整数的范围是[1,100000]。输出格式:如果这些整数中存在重复的,就输出:YES否则,就输出:NO#include<stdio.h>i..
2022-01-04 15:23:33
213
原创 5-4斐波那契数列
已知斐波那契数列定义:f(0) = 0; f(1) = 1; f(n) = f(n-1) + f(n-2); 那么你的任务是根据已知的n(n<30),求出f(n);#include<stdio.h>int f(int x);int main(){ int a,b; while(~scanf("%d",&a)) { b=f(a); printf("%d\n",b); } }int f(int x)...
2022-01-04 15:22:11
611
原创 5-3交换最小值和最大值
本题要求编写程序,先将输入的一系列整数中的最小值与第一个数交换,然后将最大值与最后一个数交换,最后输出交换后的序列。注意:题目保证最大和最小值都是唯一的。输入格式:输入在第一行中给出一个正整数N(≤10),第二行给出N个整数,数字间以空格分隔。输出格式:在一行中顺序输出交换后的序列,每个整数后跟一个空格。#include <stdio.h>int main(){ int n,i,min,max,mi,ma,a[10]; scanf("%d",&...
2022-01-04 15:21:15
96
原创 5-2数组元素的删除
完成数组元素的移动功能:假设数组有n个元素,输入一个数x,把数组的第x个位置的元素删除了,后面的元素依次前进一个位置。 重复若干次这样的删除,得到最后的结果。输入格式:第一行包括一个整数n(1<=n<=100),表示数组元素的个数。 第二行输入n个数组元素,均为整数,用空格隔开。 第三行输入一个数k(1<=k<=100),表示要进行k次删除。 接下来k行,每行一个数x,表示要删除第x个元素。输出格式:输出经过k次删除后的数组,每两个元素之间用空格隔开。#inclu
2022-01-04 15:19:04
352
原创 5-1筛法求素数
素数是仅仅能被它本身和1整除的任何整数。筛法求素数是一种查找素数的方法。它的算法如下:1、创建一个数组,并将所有元素初始化为1(真)。具有素数下标的数组元素将保持为1,而其它数组元素最终将被设置为0。2、从数组下标2开始,每次找到一个值是1的数组元素时,在数组的剩余部分中循环,并将值为1的元素的下标整数倍的所有元素设置为0。对于数组下标2,数组中所有2以上的而且是2的整数倍的元素都将这是为0(下标4、6、8、10等等)。对于数组下标3,数组中所有3以上,而且是3的整数倍的元素都将设置为0(下标6、9
2022-01-04 15:18:08
562
原创 4-10猴子吃桃问题
一只猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个;第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半加一个。到第N天早上想再吃时,见只剩下一个桃子了。问:第一天共摘了多少个桃子?输入格式:输入在一行中给出正整数N(1<N≤10)。输出格式:在一行中输出第一天共摘了多少个桃子。#include<stdio.h>void main(){int i,s=1,n; scanf("%d",&n);for(i=..
2021-12-20 14:49:50
77
原创 4-9判断一个数是否为素数
所谓素数,是指除了1和其本身外,不能被其它任何整数整除的正整数,2是最小的素数。现在,用户输入一个整数,判断它是否为素数。输入格式:一个整数N(N为int型)。输出格式:如果N是素数,输出N is a prime. 否则,输出N is not a prime. 注意:输出的是N所代表的具体数值。#include<stdio.h>int main(){ int a,i; scanf("%d",&a); for(i=2;i<a;i++)...
2021-12-20 14:49:10
193
原创 4-8输出100~200之间素数
求出100~200之间的全部素数,每行输出8个数,每个数宽度为5列。输出格式:每行输出8个素数数,每个素数宽度为5列。#include<stdio.h>int main(void){ int x,count = 0,i; for(x = 100;x<200;x++) { for(i=2;i<x;i++) { if(x%i==0) break; } if(i==x) ...
2021-12-20 14:48:30
388
原创 4-7验证“哥德巴赫猜想”
数学领域著名的“哥德巴赫猜想”的大致意思是:任何一个大于2的偶数总能表示为两个素数之和。比如:24=5+19,其中5和19都是素数。本实验的任务是设计一个程序,验证20亿以内的偶数都可以分解成两个素数之和。输入格式:输入在一行中给出一个(2, 2 000 000 000]范围内的偶数N。输出格式:在一行中按照格式“N = p + q”输出N的素数分解,其中p≤q均为素数。又因为这样的分解不唯一(例如24还可以分解为7+17),要求必须输出所有解中p最小的解。# include<..
2021-12-20 14:47:49
103
原创 4-6计算平方和
编写一个程序,要求用户输入一个下限整数和一个上限整数,然后,依次计算从下限到上限的每一个数的平方的和,最后显示结果。程序将不断要求用户输入下限整数和上限整数并显示出答案,直到用户输入的上限整数等于或小于下限整数为止。输入格式:程序将不断要求用户输入下限整数和上限整数并显示出答案,直到用户输入的上限整数等于或小于下限整数为止。每次输入一对整数,分别是下限和上限。当输入的上限等于或小于下限时结束。输出格式:从下限到上限的每个整数的平方和。#include <stdio.h>
2021-12-20 14:47:17
340
原创 4-5质因子分解
本题目要求读入一个大于1的整数,编程将其分解成若干个质因子(素数因子)积的形式。输入格式:大于1的整数一个。输出格式:将输入的正整数分解成若干个质因子积的形式,质因子的出现顺序按从小到大排列。如:30=2*2*2*5;如果整数本身为质数或素数,直接输出,如:13=13。#include<stdio.h>int main(){ int n,i,flog=0; scanf("%d",&n); for(i=2;i<n;i++){ ...
2021-12-20 14:46:42
137
原创 4-3输出2到正整数n中每个数的质因子
计算并输出2到正整数n之间每个数的质因子,并以乘法形式输出。输入格式:输入只有1个正整数即n。输出格式:把2到正整数n间的每一个数分解成它的质因子,并以乘法的形式输出。例如,输入的正整数n值为10,则应输出如下: 2 = 2 3 = 3 4 = 2 * 2 5 = 5 6 = 2 * 3 7 = 7 8 = 2 * 2 * 2 9 = 3 * 3 10 = 2 * 5 11 = 11 12 = 2 * 2 * 3 13 = 13 14 = 2 * 7 15 = 3 * 5 16 = 2 *
2021-12-20 14:45:57
186
原创 4-2毕达哥拉斯三元组
一个直角三角形具有边长均为整数的三条边。直角三角形边长的这组整数值称为毕达哥拉斯三元组(中国称为勾股数)。这三条边必须满足这样的关系:两条直角边的平方之和必须等于直角三角形斜边的平方。从键盘输入一个正整数n,请找出不大于n的所有毕达哥拉斯三元组。可以使用一个三重嵌套的for循环语句,它可以非常简单地尝试所有的可能性。这是一个穷举法的典型例子。对于很多人来说,这种技术并不美观,也不令人愉快。但有很多理由可以说明为什么这种技术是重要的。首先,随着计算功能显著增强,几年前使用这种技术,需要几年甚至几个世纪的计
2021-12-20 14:45:09
1404
原创 4-1穷举问题-搬砖
某工地需要搬运砖块,已知男人一人搬3块,女人一人搬2块,小孩两人搬1块。如果想用n人正好搬n块砖,问有多少种搬法?输入格式:输入在一行中给出一个正整数n。输出格式:输出在每一行显示一种方案,按照"men = cnt_m, women = cnt_w, child = cnt_c"的格式,输出男人的数量cnt_m,女人的数量cnt_w,小孩的数量cnt_c。请注意,等号的两侧各有一个空格,逗号的后面也有一个空格。如果找不到符合条件的方案,则输出"None"#include<std
2021-12-20 14:44:28
313
原创 3-11含8的数字的个数
现代人对数字越来越讲究,都喜欢含有8的数字。现要你编程计算a至b之间的含有数字8的数的个数(比如181,88,8,28这些数都含有数字8,而21,45,49等没有含有数字8)。输入格式:在一行中输入两个正整数a和b,用一个空格隔开。0<a<=b<100000。输出格式:输出a和b之间含有8的数的个数。包括a和b。#include <stdio.h>#include <stdlib.h>int main(int argc, char *argv
2021-12-20 14:43:15
282
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人