第21题 (10.0分) 难度:易 第1章
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------
题目:求出 -10 到 30 之内能被 7 或 11 整除,但不能同时被
7 或 11 整除的所有整数。
例如:输出"-7,7,11,14,21,22,28,"。
-------------------------------------------------------*/
#include <conio.h>
#include <stdio.h>
main()
{
int i;
/***********SPACE***********/
for(【?】;i<=30; i++)
{
/***********SPACE***********/
if( (i%7==0 【?】 i%11==0) &&i%77!=0)
{
/***********SPACE***********/
【?】("%d,",i);
}
}
}
答案:
=======(答案1)=======
i=-10
=======(答案2)=======
||
=======(答案3)=======
printf
第22题 (10.0分) 难度:易 第93章
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------
题目:以下程序求100~200之内的素数。
-------------------------------------------------------*/
#include <stdio.h>
#include "math.h"
void sushu(int m)
{
int k;
int i;
/***********SPACE***********/
【?】
for(i=2;i<=k;i++)
/***********SPACE***********/
【?】
if(i>=k+1) printf("%4d",m);
}
void main()
{
int m;
for ( m=101;m<=200;m++)
/***********SPACE***********/
【?】;
}
答案:
=======(答案1)=======
k=(int)sqrt(m);
=======(答案2)=======
if(m%i==0) break ;
=========或=========
if(!(m%i)) break ;
=======(答案3)=======
sushu(m)
第23题 (10.0分) 难度:易 第1章
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------
题目:请输入一个大于100的正整数a,将a的百位、十位和个位依
次放在b的个位、十位和百位上。
例如:输入"321",输出"结果是:123"。
-------------------------------------------------------*/
#include <conio.h>
#include <stdio.h>
main ()
{
/***********SPACE***********/
【?】 a,b;
printf ("请输入一个大于100的正整数:");
/***********SPACE***********/
scanf ("%d", 【?】);
b=(a%10)*100 + ((a/10)%10)*10 + (a/100)%10;
/***********SPACE***********/
printf ("结果是: %d\n", 【?】);
}
答案:
=======(答案1)=======
int
=======(答案2)=======
&a
=======(答案3)=======
b
第24题 (10.0分) 难度:易 第2章
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------
题目:下列程序从键盘输入所需数据,求出z的值并输出,要求输出结果保留2位小数。
-------------------------------------------------------*/
#include <stdio.h>
/***********SPACE***********/
【?】
main()
{ int x;
double y,z;
/***********SPACE***********/
scanf("【?】",&x,&y);
z=2*x*sqrt(y);
/***********SPACE***********/
printf("z=【?】",z);
}
答案:
=======(答案1)=======
#include<math.h>
=========或=========
#include "math.h"
=======(答案2)=======
%d%lf
=========或=========
%d,%lf
=======(答案3)=======
%.2f
=========或=========
%.2lf
第25题 (10.0分) 难度:易 第2章
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------
功能:要求输出结果为3。
-------------------------------------------------------*/
#include <stdio.h>
/***********SPACE***********/
int akm(【?】,int n)
{
if(m==0)
/***********SPACE***********/
【?】 n+1;
else if(m!=0&&n==0)
akm(m-1,1);
else if(m!=0&&n!=0)
akm(m-1,akm(m,n-1));
}
main()
{
/***********SPACE***********/
int m=1,n=1,【?】;
s=akm(m,n);
printf("%d",s);
}
答案:
=======(答案1)=======
int m
=======(答案2)=======
return
=======(答案3)=======
s
第26题 (10.0分) 难度:易 第1章
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------
题目:从键盘键盘输入3个整数,然后找出最小的数并输出。
例如:输入"10,41,31",
输出 "三个数是:10,41,31.最小数是:10."。
-------------------------------------------------------*/
#include <stdio.h>
#include <conio.h>
main()
{
/***********SPACE***********/
【?】 a, b, c, min;
printf("请输入三个整数:\n");
scanf("%d,%d,%d",&a, &b, &c);
printf("三个数是:%d,%d,%d.", a, b, c);
/***********SPACE***********/
if (a > b) min=b; else 【?】;
/***********SPACE***********/
if (【?】) min=c;
printf("最小数是:%d.", min);
}
答案:
=======(答案1)=======
int
=======(答案2)=======
min=a
=======(答案3)=======
min > c
=========或=========
min>=c
=========或=========
mc<min
=========或=========
c<=min
第27题 (10.0分) 难度:易 第2章
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------
功能:编程求任意给两个日期(Y0年M0月DO日和Y1年M1月D1日)
相差的天数。
-------------------------------------------------------*/
#include <stdio.h>
#include <stdlib.h>
int f(int y)
{
return(y%4==0&&y%100!=0||y%400==0);
}
int mday(int y,int m)
{
return(31-((m==4)+(m==6)+(m==9)+(m==11))-(3-f(y))*(m==2));
}
int yday(int y,int m,int d)
{
return(d+31*((m>1)+(m>3)+(m>5)+(m>7)+(m>8)+(m>10))+30*((m>4)+(m>6)+(m>9)+(m>11))+(28+f(y))*(m>2));
}
int yend(int y,int m,int d)
{
return(365+f(y)-yday(y,m,d));
}
main()
{
int y1,m1,d1,y2,m2,d2,n,i;
printf("y1,m1,d1=");
scanf("%d,%d,%d",&y1,&m1,&d1);
/***********SPACE***********/
if(m1<1||m1>12||d1<1||d1>【?】) exit(0);
printf("y2,m2,d2=");scanf("%d,%d,%d",&y2,&m2,&d2);
/***********SPACE***********/
if(m2<1||m2>12||d2<1||d2>【?】) exit(0);
if(y1>y2||y1==y2&&m1>m2||y1==y2&&m1==m2&&d1>d2)
{
n=y1;
y1=y2;
y2=n;
n=m1;
m1=m2;
m2=n;
n=d1;
d1=d2;
d2=n;
}
else
{
/***********SPACE***********/
n=yend(y1,m1,d1)+【?】;
/***********SPACE***********/
for(i=【?】;i<y2;i++) n+=365+f(i);
}
printf("%d.%d.%d--->%d.%d.%d:n=%d\n",y1,m1,d1,y2,m2,d2,n);
}
答案:
=======(答案1)=======
mday(y1,m1)
=======(答案2)=======
mday(y2,m2)
=======(答案3)=======
yday(y2,m2,d2)
=======(答案4)=======
y1+1
=========或=========
1+y1
第28题 (10.0分) 难度:易 第2章
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------
功能:将长整型数中每一位上为奇数的数依次取出,构成一个新数
放在t中。高位仍在高位,低位仍在低位。
-------------------------------------------------------*/
#include <conio.h>
#include <stdio.h>
void fun (long s, long *t)
{
int d;
long sl=1;
/***********SPACE***********/
【?】 = 0;
while ( s > 0)
{
/***********SPACE***********/
d = 【?】;
if(d%2)
{
/***********SPACE***********/
*t = 【?】 + *t;
/***********SPACE***********/
sl 【?】 10;
}
s /= 10;
}
}
main()
{
long s, t;
printf("\nPlease enter s:"); scanf("%ld", &s);
fun(s, &t);
printf("The result is: %ld\n", t);
}
答案:
=======(答案1)=======
*t
=======(答案2)=======
s%10
=======(答案3)=======
d * sl
=========或=========
sl * d
=======(答案4)=======
*=
=========或=========
=s*
第29题 (10.0分) 难度:中 第2章
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------
功能:用circle画圆形。
-------------------------------------------------------*/
#include <stdio.h>
#include "graphics.h"
main()
{
int driver,mode,i;
float j=1,k=1;
driver=VGA;mode=VGAHi;
/***********SPACE***********/
initgraph(【?】,&mode,"");
setbkcolor(YELLOW);
/***********SPACE***********/
for(i=0;i<=25;【?】)
{
setcolor(8);
circle(310,250,k);
/***********SPACE***********/
k=【?】;
j=j+0.3;
}
}
答案:
=======(答案1)=======
&driver
=======(答案2)=======
i++
=========或=========
++i
=========或=========
i=i+1
=======(答案3)=======
k+j
=========或=========
j+k
第30题 (10.0分) 难度:中 第1章
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------
请补充main函数,该函数的功能是求方程ax*x+bx+c=0的两个实数
根。方程的系数a、b、c从键盘输入,如果判别式(disc=b*b-4ac)
小于0,则要求重新输入a、b、c的值。
例如:当a=1,b=2,c=1时,方程的两个根分别是x1=-1.00,
x2=-1.00。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun()
的横线上填入所编写的若干表达式或语句。
试题程序:
-------------------------------------------------------*/
#include <math.h>
#include <stdio.h>
#include <stdlib.h>
void main()
{
float a,b,c, disc,x1,x2;
system("CLS");
do
{
printf("Input a,b,c:");
scanf("%f,%f,%f",&a,&b,&c);
disc=b*b-4*a*c;
if(disc<0)
printf("disc=%f\n Input again!\n",disc);
}
/***********SPACE***********/
while(【?】);
printf("*******the result*******\n");
/***********SPACE***********/
x1=【?】;
/***********SPACE***********/
x2=【?】;
printf("\nx1=%6.2f\nx2=%6.2f\n",x1,x2);
}
答案:
=======(答案1)=======
disc<0
=========或=========
disc<=0
=======(答案2)=======
(-b+sqrt(disc))/(2*a)
=========或=========
(-b-sqrt(disc))/(2*a)
=======(答案3)=======
(-b-sqrt(disc))/(2*a)
=========或=========
(-b+sqrt(disc))/(2*a)