C语言程序设计 综合习题
1.下面这个程序的作用是统计公元1年到公元2000年的闰年个数。判断闰年的方法是:能被400整除的年是闰年;除能被400整除的年以外,凡是能被4整除,但不能被100整除的年是闰年。其余年份是平年。请填空。
#include
void main()
{
int year;
int count=0;
for(year=0;year<=2000;year++)
if( (_____)
||( year%4==0 && ____) )
____;
printf("%d",count);
}
2. 读懂程序并填空。
#include
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的值为___。
3. 下面这个程序要求用户输入两个整数和一个字符。字符必须是'+'、'-'、'*'、'/'其中的一个。然后程序输出两数作相应运算的结果。
例如:输入 123,34,+ 程序输出 123+34=157。请填空。
#include
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",___);
}
4. 除1外,只能被1和自己本身整除的自然数叫素数。下面这个程序就是求2到100之间的素数。其中判断某数为素数的方法为用2到该数平方根之间的自然数去试整除该数。如果没有哪个数能够整除该数,那么该数为素数;如果有,那么时合数。请填空。
(函数sqrt(a)求a的平方根)
#include
#include
void main()
{
int i,j,k;
int flag;
for(i=2;i<=___;i++)
{
flag=1;
k=(int)sqrt(i);
for(j=2;j<___>
if(___==0)
{
flag=0;
break;
}
if(flag)
printf("%d\n",i);
}
}
5.如图所示为数学上的杨晖三角形,它的规律是:
1.每一行的首尾列都是1。
2.每一行的第i列(除首尾列外)是上一行的第i-1列与上一行的第i列的和。
1
1 1
1 2 1
1 3 3 1
1 4 6 4