系统测试题4
1.算式:?2*7?=3848中缺少一个十位数和一个个位数。编程求出使该算式成立时的这两个数,并输出正确的算式。
#include
#include
main()
{
int
x,y;
/***********SPACE***********/
for(x=1;【?】;x++)
/***********SPACE***********/
for(【?】;y<10;y++)
/***********SPACE***********/
if(【?】==3848)
{
/***********SPACE***********/
printf(“%d*%d=3848\n“,【?】);
exit(0);
}
}
2.一个40磅重的板碎成4块,每块正好是一个整数磅,且用这4块当砝码能称出1~40磅的整数重量的物体。编程求这4块的各自重量。
#include
#include
main()
{
int
i,j,k,l,p,t1,t2,t3,t4;
for(i=1;i<38;i++)
/***********SPACE***********/
for(【?】;j<38-i;j++)
/***********SPACE***********/
for(k=j;k<【?】;k++)
{
l=40-i-j-k;
for(p=1;p<40;p++)
{
for(t1=-1;t1<2;t1++)
for(t2=-1;t2<2;t2++)
for(t3=-1;t3<2;t3++)
for(t4=-1;t4<2;t4++)
/***********SPACE***********/
if(【?】==p)
goto
next;
break;
/***********SPACE***********/
next:if(p==【?】)
{
printf(“%d,%d,%d,%d\n“,i,j,k,l);
exit(0);
}
}
}
printf(“error.“);
}
3.企业发放的奖金根据利润提成。利润(i)低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可可提成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于100万元时,超过100万元的部分按1%提成,从键盘输入当月利润i,求应发放奖金总数?
#include
main()
{
long
int
i;
double
bonus1,bonus2,bonus4,bonus6,bonus10,bonus;
scanf(“%ld“,&i);
bonus1=100000*0.1;bonus2=bonus1+100000*0.75;
bonus4=bonus2+200000*0.5;
bonus6=bonus4+200000*0.3;
bonus10=bonus6+400000*0.15;
if(i<=100000)
bonus=i*0.1;
/***********SPACE***********/
else
if(【?】)
bonus=bonus1+(i-100000)*0.075;
/***********SPACE***********/
else
if(【?】)
bonus=bonus2+(i-200000)*0.05;
/***********SPACE***********/
else
if(【?】)
bonus=bonus4+(i-400000)*0.03;
else
if(i<=1000000)
bonus=bonus6+(i-600000)*0.015;
else
bonus=bonus10+(i-1000000)*0.01;
/***********SPACE***********/
【?】(“bonus=%d“,bonus);
}
4.要求输出结果为:
A,B
65,66
#include
void
main()
{
/***********SPACE***********/
char
a,【?】;
/***********SPACE***********/
a=【?】;
b='b';
a=a-32;
/***********SPACE***********/
b=b-【?】;
printf(“%c,%c\n%d,%d\n“,a,b,a,b);
}
5.以下程序按每行5个数的格式输出1至n范围内能被7或17
整除的整数,并求出其和。
如输入:50
则输出:
Sum=247
#include
void
main()
{
int
i,n,ct=0,sum=0;
scanf(“%d“,&n);
for
(i=1;
i<=n;
i++)
/***********SPACE***********/
if
(【?】)
{
printf(“%d\t“,i);
/***********SPACE***********/
【?】;
ct++;
/***********SPACE***********/
if
(【?】)
printf(“\n“);
}
printf(“\nSum=%d\n“,sum);
}
6.输入两个整数,求他们的按位与。
#include
void
main()
{
int
x,y,z=0,a,b,k=1;
scanf(“%d,%d“,&x,&y);
while(x>0&&y>0)
{
a=x%2;
/***********SPACE***********/
x=【?】;
b=y%2;
y=y/2;
/***********SPACE***********/
z=z+【?】;
k=k*2;
}
/***********SPACE***********/
【?】(“z=%d\n“,z);
}
7.要求输出如下结果:
b=-1
a=65535
a=65534
a=30
b=6
c=5
按要求在空中填入合适的变量完善程序。
#include
main()
{
/***********SPACE***********/
int
b=-1,【?】;unsigned
a;
/***********SPACE***********/
a=【?】;
printf(“b=%d
a=%u\n“,b,a);
/***********SPACE***********/
【?】+=b;
printf(“a=%u\n“,a);
/***********SPACE***********/
b=(a=30)/【?】;
printf(“a=%d
b=%d
c=%d\n“,a,b,c);
}
8.计算并输出n(包括n)以内能被3或7整除的所有自然数的倒数之和。
例如,从键盘给n输入30后,输出为:S=1.226323。
#include
main()
{
int
i,n;
/***********SPACE***********/
【?】
sum;
printf(“请输入n:
“);
/***********SPACE***********/
scanf(“%d“,【?】);
sum
=
0.0;
/***********SPACE***********/
for
(i=1;
i<=n
;
【?】)
{
if
(i%3==0
||
i%7==0)
/***********SPACE***********/
sum
+=
【?】;
}
/***********SPACE***********/
printf(“s=%f\n“,【?】);
}
9.输出9*9口诀。
#include
main()
{
int
i,j,result;
printf(“\n“);
/***********SPACE***********/
for
(i=1;【?】;i++)
{
/***********SPACE***********/
for(j=1;j<10;【?】)
{
result=i*j;
/***********SPACE***********/
printf(“%d*%d=%-3d“,i,j,【?】);
}
printf(“\n“);
}
}
10.计算并输出n(包括n)以内能被3或7整除的所有自然数的倒数之和。
例如,从键盘给n输入30后,输出为:S=1.226323。
#include
main()
{
int
i,n;
/***********SPACE***********/
【?】
sum;
printf(“请输入n:
“);
/***********SPACE***********/
scanf(“%d“,【?】);
sum
=
0.0;
/***********SPACE***********/
for
(i=1;
【?】;
i++)
{
if
(i%3==0
||
i%7==0)
/***********SPACE***********/
sum
+=
【?】;
}
/***********SPACE***********/
【?】(“s=%f\n“,sum);
}
11.从读入的整数数据中,统计大于零的整数个数和小于零的整数个数。用输入零来结束输入,程序中用变量i统计大于零的整数个数,用变量j统计小于零的整数个数。
#include
main()
{
int
n,i,j;
printf(“Enter
iNT
number,with
0
to
end\n“);
i=j=0;
scanf(“%d“,&n);
while(n!=0)
{
/***********SPACE***********/
if(n>0)i=【?】;
/***********SPACE***********/
if(n<0)j=【?】;
/***********SPACE***********/
scanf(“%d“,【?】);
}
printf(“i=%4d\n“,i,j);
}
12.从读入的整数数据中,统计大于零的整数个数和小于零的整数个数。用输入零来结束输入,程序中用变量i统计大于零的整数个数,用变量j统计小于零的整数个数。
#include
main()
{
int
n,i,j;
printf(“Enter
iNT
number,with
0
to
end\n“);
i=j=0;
scanf(“%d“,&n);
while(n!=0)
{
/***********SPACE***********/
if(n>0)i=【?】;
/***********SPACE***********/
if(n<0)j=【?】;
/***********SPACE***********/
scanf(“%d“,【?】);
}
printf(“i=%4d\n“,i,j);
}
13.百马百担问题:有100匹马,驮100担货,大马驮三担,中马驮2担,两匹小马驮一担,求大、中、小马各多少匹?
#include
main()
{
int
hb,hm,hl,n=0;
/***********SPACE***********/
for(hb=0;hb<=100;hb+=【?】)
/***********SPACE***********/
for(hm=0;hm<=100-hb;hm+=【?】)
{
/***********SPACE***********/
hl=100-hb-【?】;
/***********SPACE***********/
if(hb/3+hm/2+2*【?】==100)
{
n++;
printf(“hb=%d,hm=%d,hl=%d\n“,hb/3,hm/2,2*hl);
}
}
printf(“n=%d\n“,n);
}
14.计算并输出n(包括n)以内能被3或7整除的所有自然数的倒数之和。
例如,从键盘给n输入30后,输出为:S=1.226323。
#include
main()
{
int
i,n;
/***********SPACE***********/
float
【?】;
printf(“请输入n:
“);
/***********SPACE***********/
【?】(“%d“,&n);
sum
=
0.0;
/***********SPACE***********/
for
(i=1;
【?】
;
i++)
{
if
(i%3==0
||
i%7==0)
/***********SPACE***********/
sum
+=
【?】;
}
/***********SPACE***********/
【?】(“s=%f\n“,sum);
}