题目一:输出第二个整数(20分)
输入三个整数,把第二个输入的整数输出。
时间限制:1000
内存限制:65536
只有一行,共三个整数,整数之间由一个空格分隔。整数是32位有符号整数。
只有一行,一个整数,即输入的第二个整数。
123 456 789
456
思路分析
题目要求输入三个整数并将第二个整数输出,定义三个变量并输入,将第二个变量输出即可。
代码如下:
#include<bits/stdc++.h>
using namespace std;
int main(){
int a,b,c; //定义三个变量,a,b,c
cin>>a>>b>>c; //输入三个整数
cout<<b; //输出第二个整数
return 0;
}
题目二:计算表达式的值(20分)
给定整数x,y的值,计算3*x+2*y的值。
时间限制:3000
内存限制:65536
按照题目要求输出结果
2 3
12
思路分析:
定义两个变量x,y并输入,输出表达式的值即可。
代码如下:
#include<bits/stdc++.h>
using namespace std;
int main(){
int x,y,sum; //定义三个变量 x,y为输入的两个整数,sum用来存储表达式的值
cin>>x>>y; //输入两个整数
sum=3*x+2*y; //将表达式的值存储在变量sum中
cout<<sum;
return 0;
}
题目三:大写字母的判断(20分)
输入一个字符,判断是否是英文大写字母,即是否是A-Z中的一个。
时间限制:1000
内存限制:65536
一个字符。
如果是英文大写字母,则输出YES,否者输出NO。
K
YES
思路分析:
定义一个字符,判断输入的字符是否在大写字母A-Z当中,注意输出!
代码如下:
#include<bits/stdc++.h>
using namespace std;
int main(){
char ch; //使用char定义字符变量
cin>>ch; //输入字符
if(ch>='A'&&ch<='Z'){ //判断字符是否在A-Z中
cout<<"YES"<<endl;
}
else{
cout<<"NO"<<endl;
}
return 0;
}
题目四:满足条件的数的累加(20分)
现有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
思路分析:
思路1:使用数组输入的方法,将每个数组中每个元素取个位进行判断
#include<bits/stdc++.h>
using namespace std;
int main(){
int a[1000]; //定义一个a数组
int i,n,k,sum=0; //定义变量i(循环体)、n、k,sum(存储累加的和)
cin>>n>>k; //输入两个整数
for(i=0;i<n;i++){
cin>>a[i]; //循环输入数组
}
for(i=0;i<n;i++){
if(a[i]%10==k){ //判断数组中每个元素个位是否等于k值
sum=sum+a[i]; //累加
}
}
cout<<sum<<endl;
return 0;
}
思路2:使用循环输入的方法,每输入一个数就进行判断累加
#include<bits/stdc++.h>
using namespace std;
int main(){
int i,n,k,x,sum=0; //定义变量i(循环体)、n、k,sum(存储累加的和),x(输入的数)
cin>>n>>k; //输入两个整数
for(i=0;i<n;i++){
cin>>x; //循环输入x
if(x%10==k){
sum=sum+x;
}
}
cout<<sum<<endl;
return 0;
}
题目五: 金币(20分)
国王将金币作为工资,发放给忠诚的骑士。第一天,骑士收到一枚金币;之后两天(第二天和第三天)里,每天收到两枚金币;之后三天(第四、五、六天)里,每天收到三枚金币;之后四天(第七、八、九、十天)里,每天收到四枚金币……这种工资发放模式会一直这样延续下去:当连续N天每天收到N枚金币后,骑士会在之后的连续N+1天里,每天收到N+1枚金币(N为任意正整数)。
你需要编写一个程序,确定从第一天开始的给定天数内,骑士一共获得了多少金币。
时间限制:10000
内存限制:65536
一个整数(范围1到10000),表示天数。
骑士获得的金币数。
6
14
思路分析:
循环n天,将每一天的金币进行累加。如果发放的金币数与发放该金币数的天数相等,则需要重新进行计数发放金币的天数同时金币加1。
代码如下:
#include<bits/stdc++.h>
using namespace std;
int main(){
//定义整数n代表天数,sum代表总金币,k代表每天发放的金币,c代表发放金币k的天数
int n,sum=0,c=0,k=1;
cin>>n;
for(int i=1;i<=n;i++){ //循环n天
sum+=k; //总金币
c++; //发放k金币的天数
if(c==k){ //当发放k金币的天数等于k时
c=0; //c要清0,重新开始计数
k++; //发放的金币+1
}
}
cout<<sum<<endl;
return 0;
}