青少年软件编程(C语言)等级考试试卷(二级)202012
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
青少年软件编程(C语言)等级考试试卷(二级)
分数:100 题数:5
一、编程题(共5题,共100分)
1.数组指定部分逆序重放
试题编号:-006
试题类型:编程题
标准答案:
试题难度:一般
试题解析:
#include <bits/stdc++.h>
using namespace std;
int main()
{
int n,k,m[101] = {0,};
cin >> n >> k;
for(int i = 1;i <= n;i++)
{
cin >> m[i];
}
int i = 1,j = k;
while(i < j)
{
swap(m[i],m[j]);
i++;
j--;
}
for(int i = 1;i <= n;i++)
{
cout << m[i] << " ";
}
return 0;
}
2.简单密码
试题编号:-007
试题类型:编程题
标准答案:
试题难度:一般
试题解析:
#include<bits/stdc++.h>
using namespace std;
int main()
{
int a[101][101],x[101],y[101],r,c,n,i,j,rs=0,cs=0;
memset(x,0,sizeof(x));
memset(y,0,sizeof(y));
cin>>n;
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
cin>>a[i][j];
if(a[i][j]==1) x[i]++;
}
if(x[i]&1)
{
rs++;
r=i;
}
}
if(rs>1)
{
cout<<"Corrupt"<<endl;
return 0;
}
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
if(a[j][i]==1) y[i]++;
}
if(y[i]&1)
{
cs++;
if(cs>1) break;
}
}
if(cs>1)
{
cout<<"Corrupt";
return 0;
}
if(rs==0&&cs==0) cout<<"OK";
else cout<<r+1<<" "<<c+1<<endl;
return 0;
}
3.错误探测
试题编号:-008
试题类型:编程题
标准答案:
试题难度:一般
试题解析:
#include<bits/stdc++.h>
using namespace std;
int main()
{
int a[101][101],x[101],y[101],r,c,n,i,j,rs=0,cs=0;
memset(x,0,sizeof(x));
memset(y,0,sizeof(y));
cin>>n;
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
cin>>a[i][j];
if(a[i][j]==1) x[i]++;
}
if(x[i]&1)
{
r=i;
}
}
if(rs>1)
{
cout<<"Corrupt"<<endl;
return 0;
}
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
if(a[j][i]==1) y[i]++;
}
if(y[i]&1)
{
cs++;
c=i;
if(cs>1) break;
}
}
if(cs>1)
{
cout<<"Corrupt";
return 0;
}
if(rs==0&&cs==0) cout<<"OK";
else cout<<r+1<<" "<<c+1<<endl;
return 0;
}
4.奇数单增序列
试题编号:-009
试题类型:编程题
标准答案:
试题难度:一般
试题解析: