1600: B-阅读程序2
Description
阅读程序(判断题正确填V 错误填X; 判断题4分(1,2)5分(3),选择题8分 ,共计100分)
1.
#include <cstdio>
int main()
{
int a[3],b[3];
int ijtmp;
for (i=0;i<3;i++)
scanf("%d",&b[i]);
for (i=0;i<3;i++)
{
a[i]=0;
for (j=0;j<=i;j++)
{
a[i]+=b[j];
b[a[i]%3]+=a[j];
}
} //此为第十六行
tmp=1;
for (i=0;i<3;i++)
{
a[i]%=10;
b[i]%=10;
tmp*=a[i]+b[i];
}
printf("%d\n",tmp);
return 0;
}
判断题
1) 若输入为2 2 2,则输出为值为80。( )
2) 若输入有一个数为0,则输出为值为0。( )
3) 若输入有两个数为0,则输出为值为0。( )
4) 修改tmp初值为0,那么程序输出的结果一定为0。( )
选择题
1) 若输入为1 2 3,则两重循环结束后(第十六行) b[0],b[1],b[2]的值分别为为( )。
A) 1 4 6 B) 3 6 9 C) 5 6 22 D) 6 5 22
2) 若输入为2 3 3,则此程序会在最后输出tmp的结果为( )。
A) 546 B) 669 C) 832 D) 1008
2.
#include<cstdio>
int a,b;
int work(int a,int b){
if (a%b)
return work(b,a%b);
return b;
}
int main(){
scanf("%d%d",&a,&b);
printf("%d\n",work(a,b));
return 0;
}
判断题
1) 若输入为1 0,则输出值为0。( )
2) 若输入为4 2,则输出值为2。( )
3) 若输入为2 8,则输出值为2。( )
4) 修改第4行语句为 if( a%b==0 )时,则程序的输出结果不会改变。( )
选择题
1) 若输入为24 64时,则输出为值为( )
( A) 8 ( B) 24 ( C) 12 ( D) 64
2) 最为确切的叙述是( )
(A) work是一个函数
(B) work是一个带参数的函数
(C) work 是一个递归函数
(D) work 是一个计算最大公约数的递归函数
3.
#include <cstdio>
int main()
{
int a[100],b[100];
int n,m,i=0,j=0,p=0,k=0;
scanf("%d%d",&n,&m);
a[0]=n;
do
{
for (j=0;j<i;j++)
if (a[i]==a[j])
{
p=1; k=j;
break;
}
if (p) break;
b[i]=a[i]/m;
a[i+1]=a[i]%m*10;
i++;
}while (a[i]!=0);
printf("%d.",b[0]);
for (j=1; j<k; j++)
printf("%d",b[j]);
if (p) printf("(");
for (j=k;j<i;j++)
printf("%d",b[j]);
if (p) printf(")");
printf("\n");
return 0;
}
判断题
1) 若输入为12 3,则输出值为4.4 。( )
2) 若输入为10 3,则输出值为3.3。( )
3) 若输入为32 15,则输出值为2.(13)。( )
4) 删除程序中第15行的 break语句时,则程序的输出结果不会改变。( )
选择题
1) 若输入为63 22时,则输出为值为( )
( A) 2.863 ( B) 2.8(63) ( C) 2.(863) ( D) 2.86(3).
2) 你认为该程序输出是将啇的( ) 放入括号内输出。
(A) 小数部分 (B) 小数的循环节 (C) 循环小数 (D) 重复的小数
Sample Input Copy
Sample Output Copy