📄 answer7.txt
字号:
1.下面这个程序的作用是统计公元1年到公元2000年的闰年个数。判断闰年的方法是:能被400整除的年是闰年;除能被400整除的年以外,凡是能被4整除,但不能被100整除的年是闰年。其余年份是平年。请填空。
#include <stdio.h>
void main()
{
int year;
int count=0;
for(year=0;year<=2000;year++)
if( (_____)
||( year%4==0 && ____) )
____;
printf("%d",count);
}
答案:year%400==0
year%100!=0
count++
2. 读懂程序并填空。
#include <stdio.h>
void main()
{
int digit_num=0;
int letter_num=0;
int other_num=0;
char ch;
while(1)
{
ch=getchar();
if(ch=='!')
break;
if(ch>='0'&&ch<='9')
digit_num++;
else if( (ch>='A'&&ch<='Z')
||(ch>='a'&&ch<='z') )
letter_num++;
else
other_num++;
}
printf("The number of digit is %d\n",digit_num);
printf("The number of letter is %d\n",letter_num);
printf("The number of other is %d\n",other_num);
}
程序运行时如果输入:
123adfhd^%234FDG%34%hJK+!_AAAD!<回车>
最后,变量 digit_num的值为___,
变量letter_num的值为___,
变量 other_num的值为___。
答案: 8
11
5
3. 下面这个程序要求用户输入两个整数和一个字符。字符必须是'+'、'-'、'*'、'/'其中的一个。然后程序输出两数作相应运算的结果。
例如:输入 123,34,+ 程序输出 123+34=157。请填空。
#include <stdio.h>
void main()
{
float d1,d2,result;
char op;
int error=0;
scanf("%f,%f,%c",&d1,&d2,&op);
switch(op)
{
case '+':result=___;break;
case '-':result=___;break;
case '*':result=___;break;
case '/':result=___;break;
default :error=1;
}
if(error)
printf("运算操作符输入有错!");
else
printf("%.2f%c%.2f=%.2f\n",___);
}
答案: d1+d2
d1-d2
d1*d2
d1/d2
d1,op,d2,result
4. 除1外,只能被1和自己本身整除的自然数叫素数。下面这个程序就是求2到100之间的素数。其中判断某数为素数的方法为用2到该数平方根之间的自然数去试整除该数。如果没有哪个数能够整除该数,那么该数为素数;如果有,那么时合数。请填空。
(函数sqrt(a)求a的平方根)
#include<math.h>
#include <stdio.h>
void main()
{
int i,j,k;
int flag;
for(i=2;i<=___;i++)
{
flag=1;
k=(int)sqrt(i);
for(j=2;j<___;j++)
if(___==0)
{
flag=0;
break;
}
if(flag)
printf("%d\n",i);
}
}
答案:100
k
i%j
5.如图所示为数学上的杨晖三角形,它的规律是:
1.每一行的首尾列都是1。
2.每一行的第i列(除首尾列外)是上一行的第i-1列与上一行的第i列的和。
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
1 6 15 20 15 6 1
下面这个程序打印了10层杨晖三角形,请填空。
#include <stdio.h>
#define LAYER 10
#define LAYER_1 (LAYER+1)
#define NUM ( LAYER_1 * (LAYER_1 /2) )
void main()
{
int array[NUM],*p[LAYER],i,j,pos;
for(i=0;i<LAYER;i++)
{
pos= i*(i+1)/2;
p[i]=&array[pos];
}
for(i=0;i<LAYER;i++)
p[i][0]=p[i][i]=___;
for(i=2;i<LAYER;i++)
for(j=1;j<i;j++)
p[i][j]=___;
for(i=0;i<LAYER;i++)
{
for(j=0;j<=i;j++)
printf("%5d",___);
printf("\n");
}
}
答案: 1
p[i-1][j-1]+p[i-1][j]
p[i][j]
6. 当程序输入0 -5 3时,程序依次输出哪三个数? ___、___、___
如果把SIZE改成5,输入89,34,25,-1,22,程序依次输出哪五个数? ___、___、___、___、___
#include <stdio.h>
#define SIZE 3
void swap(int *a,int *b);
void main()
{
int data[SIZE];
int i,j;
for(i=0;i<SIZE;i++)
scanf("%d",&data[i]);
for(i=0;i<SIZE-1;i++)
for(j=i+1;j<SIZE;j++)
if(data[i]>data[j])
swap(&data[i],&data[j]);
for(i=0;i<SIZE;i++)
printf("%d ",data[i]);
}
void swap(int *a,int *b)
{
int temp;
temp=*a;
*a=*b;
*b=temp;
}
答案: -5 0 3
-1 22 25 34 89
7. 请选择您认为正确的说法。
A.在C语言中,函数可以嵌套定义。
B.程序中的注释部分可有可无,通常可以省略。
C.在函数中,只能有一条return语句。
D.C程序中,会检查数组下标是否越界。
E.在C程序中,ABC和abc是两个不同的变量。
F.在C语言中,函数中的变量可以赋初值,每调用一次该函数,就赋一次初值。
G.C语言中不能对数组名进行加减和赋值运算。
答案: BEG
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -