一、编程题
1、输出第二个整数
输入三个整数,把第二个输入的整数输出。
时间限制:1000
内存限制:65536
输入
只有一行,共三个整数,整数之间由一个空格分隔。整数是32位有符号整数。
输出
只有一行,一个整数,即输入的第二个整数。
样例输入
123 456 789
样例输出
456
参考答案:
include <bits/stdc++.h>
using namespace std;
int main()
{
int a,b,c;
cin>>a>>b>>c;
cout<<b;
}
解析:【喵呜刷题小喵解析】这个题目要求从输入中读取三个整数,然后输出第二个整数。所以,我们可以定义一个包含三个整数的变量(a、b、c),然后使用`cin`函数从输入中读取这三个整数。接着,我们可以直接输出第二个整数(b)。在C++中,`#include
2、计算表达式的值
给定整数x,y的值,计算3*x+2*y的值。
时间限制:3000
内存限制:65536
输入
一行包含2个整数x,y,以空格作为分隔。数据保证最后计算结果还在整数表示范围内。
输出
按照题目要求输出结果
样例输入
2 3
样例输出
12
参考答案:
include <bits/stdc++.h>
using namespace std;
int main()
{
int x,y;
cin>>x>>y;
cout<<3*x+2*y;
}
解析:【喵呜刷题小喵解析】:本题的要求是根据输入的整数x和y,计算3x+2y的值。因此,我们需要读取x和y的值,然后进行相应的计算。首先,我们包含了
3、大写字母的判断
输入一个字符,判断是否是英文大写字母,即是否是A-Z中的一个。
时间限制:1000
内存限制:65536
输入
一个字符。
输出
如果是英文大写字母,则输出YES,否者输出NO。
样例输入
K
样例输出
YES
参考答案:
t main()
{
char a;
cin>>a;
if(a>=‘A’ && a<=‘Z’)
cout<<“YES”;
else
cout<<“NO”;
}
解析:【喵呜刷题小喵解析】这个程序是一个简单的C++程序,用于判断输入的字符是否为英文大写字母。程序首先定义了一个字符变量`a`,然后通过`cin`从标准输入读取一个字符。接着,使用`if`语句判断该字符是否在`'A'`到`'Z'`的范围内,如果是,则输出`"YES"`,否则输出`"NO"`。最后,程序返回0表示正常结束。这个程序的时间复杂度和空间复杂度都很低,因为它只进行一次字符的比较操作,并且只使用了一个字符变量。因此,它满足题目给出的时间限制和内存限制要求。注意,题目中给出的输入和输出示例是英文的,所以程序中的字符和字符串也是英文的。在实际使用中,可以根据需要修改字符和字符串的编码和格式。
4、满足条件的数的累加
现有n个整数,将其中个位数为k的数进行累加求和。
时间限制:1000
内存限制:65536
输入
第一行两个整数n、k,以空格分隔。( 0 < n < 1000, 0 ≤ k ≤ 9) 第二行n个非负整数,以空格分隔,每个数不大于100000。
输出
输出满足题目要求的累加和。
样例输入
10 7
2 5 7 17 11 18 4 27 1 7
样例输出
58
参考答案:
include <bits/stdc++.h>
using namespace std;
int main()
{
int a[100],n,i,k,sum=0;
cin>>n>>k;
for(i=1;i<=n;i++)
{
cin>>a[i];
if(a[i]%10==k)
sum+=a[i];
}
cout<<sum;
}
解析:【喵呜刷题小喵解析】:本题是一道编程题,要求编写一个程序,对给定的n个整数,找出其中个位数为k的数,并求和。程序的基本思路是:首先读取n和k的值,然后读取n个整数,对每个整数判断其个位数是否为k,如果是,则累加到sum变量中。最后输出sum的值。程序中使用了数组a[100]来存储输入的n个整数,但实际上在读取输入时,只需要使用循环变量i来存储当前的整数,不需要数组a。因此,可以将程序中的数组a和循环变量i优化掉,直接使用循环变量i来读取输入和判断条件。程序中的变量sum用于存储累加和,初始化为0。在读取输入时,对每个整数进行判断,如果其个位数为k,则累加到sum中。最后输出sum的值即可。注意,在读取输入时,需要使用cin语句,而不是scanf语句。因为scanf语句在读取空格时会停止读取,而cin语句可以读取空格分隔的多个整数。另外,程序中使用了#include
5、金币
国王将金币作为工资,发放给忠诚的骑士。第一天,骑士收到一枚金币;之后两天(第二天和第三天)里,每天收到两枚金币;之后三天(第四、五、六天)里,每天收到三枚金币;之后四天(第七、八、九、十天)里,每天收到四枚金币……这种工资发放模式会一直这样延续下去:当连续N天每天收到N枚金币后,骑士会在之后的连续N+1天里,每天收到N+1枚金币(N为任意正整数)。
你需要编写一个程序,确定从第一天开始的给定天数内,骑士一共获得了多少金币。
时间限制:10000
内存限制:65536
输入
一个整数(范围1到10000),表示天数。
输出
骑士获得的金币数。
样例输入
6
样例输出
14
参考答案:
include<bits/stdc++.h>
using namespace std;
int k,i,j,t,ans;
int main()
{
cin>>k;
for(i=1;i<=10000;i++)
for(j=1;j<=i;j++)
{
t++;
ans+=i;
if(t==k)
cout<<ans;
}
}
解析:【喵呜刷题小喵解析】:该程序首先读取输入的天数n,然后使用一个循环来模拟骑士收到金币的过程。循环的终止条件是n变为0。在每次循环中,骑士会收到i枚金币,并将这些金币累加到sum变量中。同时,days变量用于记录已经过去的天数。当days等于当前的循环次数i时,表示已经连续i天每天收到i枚金币,因此将n减1。最后,输出骑士收到的总金币数sum。该算法的时间复杂度为O(n),其中n为输入的天数。在每次循环中,我们只需要进行一次加法运算和一次比较运算,因此算法的效率较高。同时,由于使用了变量sum来累加金币数,因此空间复杂度为O(1)。
喵呜刷题:让学习像火箭一样快速,快来微信扫码,体验免费刷题服务,开启你的学习加速器!




