1283: CSP 阅读程序-1
Description
二.阅读程序(判断题正确填√ 错误填×; 判断题2分,选择题3分 ,共计40分)
1.
#include <cstdio>
#include <iostream>
using namespace std;
int n;
int a[100];
int main(){
scanf("%d"&n);
for(int i=0;i<n;i++) scanf("%d"&a[i]);
int ans=1;
for(int i=1;i<n;i++)
{
if(i > 1 && a[i] < a[i-1]) ans=i; //第12行
while(ans < n && a[i] >=a[ans+1]) ++ans; //14行
printf("%d "ans); //第16行
}
return 0;
}
判断题
1) 程序输出的ans小于等于n。( )
2) 若将第12行的“ < ”改为“!=”,程序输出的结果不会改变。( )
3) 当程序执行到第16行时,若ans-i > 2,则a[i+1]<=a[i]。( )
选择题
1) 若输入a数组的n个数据全部为0,则输出为值为( )
A) 全部为0 B) 全部为1 C) 为1至n D) 全部为n
2) 若输入3
5
2
6
则输出为值为( )
A) 5 2 6 B) 1 2 3 C) 1 3 D) 1 2
2.
#include <cstdio>
#include <iostream>
using namespace std;
int main()
{
int nk=0s;
scanf("%d"&n);
for(int i=2; i*i<=n; i++) //第6行
{
if(n%i==0)
{
while(n%i==0)
{
k++;
if(k==1) printf("%d"i); //第13行
else printf(" * %d"i); //第14行
n=n/i;
}
}
}
if(n!=1)
{
k++;
if(k==1) printf("%d"n); //第23行
else printf(" * %d"n); //第24行
}
return 0;
}
判断题
1) 若n为0,则输出为值为0。( )
2) 若n为1,则输出为值为1。( )
3) 若将第13行的“k==1”改为“k>0”,程序输出的结果不会改变。( )
4) 此程序是求n的k个质因数。( )
选择题
1) 若输入n为100,则第六行的循环变量i为( )时退出循环。
A) 11 B) 10 C) 6 D) 7
2) 若输入n为127,则此程序会在第( )行输出结果。
A) 13 B) 14 C) 23 D) 24
3.
#include<cstdio>
int main()
{ int ijsspp;
int a[11];
sp=1; a[1]=2; j=2;
while(sp<10) //第6行
{ j++; p=1;
for(i=2; i<=j-1; i++)
if(j%i==0) p=0;
if(p)
{
sp++; //第12行
a[sp]=j; //第13行
}
}
j=2; p=1;
while(p)
{ s=1;
for(i=1; i<=j; i++) s=s*a[i];
s++;
for(i=2; i<=s-1; i++)
if(s%i==0) p=0; //第22行
j++;
}
printf("s=%d\n"s); //第25行
return 0;
}
判断题
1) 此程序前几步计算可知a[1]=2 a[2]=3…. 那么a[sp]=a[sp-1]+1。 ( )
2) 若修改第6行为while(sp !=10) ,则此程序输出结果不会改变。( )
3) 若删去12行的sp++ 更改第13行的语句为 a[++sp],程序输出的结果会改变。( )
4) 第二个while循环终止后,j的值为6。( )
选择题
1) 当while(sp<10)程序段执行完后,a数组中的最后一个数是( )。
A) 9 B) 10 C) 19 D) 29
2) 此程序执行完后,第25行的printf("s=%d\n"s)输出结果为( )。
A) s=211 B) s=2311 C) s=3031 D) s=30031
Input
Output
Sample Input Copy
Sample Output Copy