系統測試題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);
}