1.电子表格【avg】
描述
考试结束了,老师想统计一下班级的总成绩。可是电子表格软件出了bug。精通编程的小z想通过写一个计算程序的办法解决这个问题。他会怎么做呢。
输入
第一行一个整数n,表示班级人数。
接下来n行,每行一个整数ai(0<ai<100)表示每个人的成绩
输出
输出班级的总成绩
输入样例 1复制
3
100
98
96
输出样例1复制
294
#include<bits/stdc++.h>
using namespace std;//区赛第一题,没什么好讲的
int main(){
int a[100],cnt=0,n;
cin>>n;
for(int i=0;i<n;i++){
cin>>a[i];
}
for(int i=0;i<n;i++){
cnt+=a[i];
}
cout<<cnt;
return 0;
}
2.交错串【cross】
描述
小z遇到一个编程难题,给出两个相同长度的字符串s1和s2,比如“abcd”和“efgh”,求两个字符串交错后组成的新字符串。交错是指将s1中第i个字符插入到s2第i个字符后,比如上面两个字符串交错后得到的新字符串是“eafbgchd”。
你能设计程序帮小z解决这个问题吗?
输入
第一行是字符串的长度len
接下来两行,第一行是字符串s1,第二行是字符串s2
数据保证s1和s2等长。
输出
输出一行,s1和s2交错后的字符串。
输入样例 1复制
4
efgh
ijkl
输出样例1复制
iejfkglh
提示
对于100%的数据
0<len<1000
//这题就是交替输出
#include<bits/stdc++.h>
using namespace std;
int main(){
int i,len;
string s1,s2;
cin>>len;
cin>>s1;
cin>>s2;
for(i=0;i<len;i++){//注意i<len,在我还不懂字符串的时候写了这一题,结果写了个i<=len,直接0分
cout<<s2[i]<<s1[i];
}
return 0;
}
3.小z的作业【homework】
描述
信息学老师给小z布置了新作业,是一道计算题
x=number1pow1+number2pow2+...+numberNpowN
其中number1…numberN是整数,pow1…powN是10以内的整数。但老师收到小z的电子版作业时,方程式的格式丢了,也就是原本方程可能是X=21^3+10^2+4^5,老师收到的却是X=213+102+45。请你帮老师写一个程序,输入式子格式丢失的每一项,计算等式原本的值。(ax表示x个a相乘的结果)
输入
第一行是一个整数N,表示有N项
接下来N行,每行一个整数,表示小z作业中每一项数字。
输出
输出一行:等式原本的结果。
输入样例 1复制
3
213
102
45
输出样例1复制
10385
提示
对于100%的数据,1<=n<=10。结果保证在64位整数范围内(C++long long)
#include<bits/stdc++.h> //这题只是看着难,实际上双重for都能过
using namespace std;
int main(){
long long he=0,n,i,shu;
cin>>n;
for(i=1;i<=n;i++){
cin>>shu;
int a=shu/10;
int b=shu%10;
long long ji=1;
for(int j=1;j<=b;j++){
ji*=a;
}
he+=ji;
}
cout<<he;
return 0;
}
4.小z的作业【homework】
描述
健忘的小z忘了自己的电脑密码,好在他设置了密码提示问题。回答出提示问题即可找回密码。
提示问题为:
1.找出一个大于等于L,小于等于D的最小整数N,N的各个位加起来结果是X
2.找出一个大于等于L,小于等于D的最大整数M,M的各个位加起来结果是X
问题保证N和M一定存在。
可怜的小z并不能想出这个问题,你能帮他吗?
输入
第一行是一整数L,
第二行是一个整数D,
第三行是一个整数X。
输出
第一行输出整数N,第二行输出整数M。
输入样例 1复制
100
500
12
输出样例1复制
129
480
提示
对于100%的数据:
X<=36
M,N<=10000
#include<bits/stdc++.h>
using namespace std;
int dim(int num){//计算各个数位之和
int sum=0;
while(num>0){
sum+=num%10;
num/=10;
}
return sum;
}
int main(){
int L,D,X;//因为闲的所以用大写
cin>>L>>D>>X;
int N=L;
while(dim(N)!=X){
N++;
}
int M=D;
while(dim(M)!=X) {
M--;
}
cout<<N<<endl;
cout<<M<<endl;
return 0;
}
是二分,又好像不是