第六章 循环控制
【题6.1-6.56】 CBAAD CBB(CA)(DC) BCAAC CCB(BC)(BC) (BD)BDDB DBBCA
CDCCD D(BC)BDC (CD)(CA)DBD CCCCB BBBBA A
【题6.57】 【1】c!=’\n’ 【2】c>=’0’&&c<=’9’
【题6.58】 【1】double 【2】pi+1.0/(i*i)
【题6.59】 【1】x1 【2】x1/2-2
【题6.60】 【1】r=m,m=n,n=r 【2】m%n
【题6.61】 sjhiu
【题6.62】 s=254
【题6.63】 5,5
【题6.64】 36
【题6.65】 3
【题6.66】 * *
【题6.67】 a=-5
【题6.68】 【1】i%3==2&&i%5==3&&i%7==2 【2】j%5==0
【题6.69】 【1】n%10 【2】max=t
【题6.70】 sum%4==0
【题6.71】 【1】s%10 【2】s/10
【题6.72】 k=14 n=-1
【题6.73】 x=1,y=20
【题6.74】 1,3,7,15,
31,63,
【题6.75】 m=4 n=2
【题6.76】 i<=x
【题6.77】 2*x+4*y==90
【题6.78】 -1
【题6.79】 【1】1 【2】3
【题6.80】 【1】t=t*i 【2】t=-t/i
【题6.81】 【1】&a,&b 【2】fabs(b-a)/n 【3】sin(a+i*h)*cos(a+i*h)
【题6.82】 【1】e=1.0 【2】new>=1e-6
【题6.83】 sum=19
【题6.84】 *
#
【题6.85】 * * * * #
【题6.86】 【1】k+=2 【2】j!=i&&j!=k
【题6.87】 【1】m=n 【2】m 【3】m/=10
【题6.88】 【1】m=0,i=1 【2】m+=i
【题6.89】 【1】100-i*5-j*2 【2】k>=0
【题6.90】 【1】j=1 【2】k>=0&&k<=6
【题6.91】 m=1
【题6.92】 1,-2
【题6.93】 * * * * * *
* *
* *
* * * * * *
【题6.94】 # # # #
# # # *
# # * *
# * * *
【题6.95】 2,3
【题6.96】 8
【题6.97】 【1】i==j 【2】k!=i&&k!=j
【题6.98】 【1】k 【2】k/10 【3】continue
【题6.99】 【1】break 【2】i==11
【题6.100】 【1】i<=9 【2】j%3!=0
【题6.101】 2 5 8 11 14
【题6.102】 i=6,k=4
【题6.103】 a=16 y=60
【题6.104】 3 1 –1
【题6.105】 #include <stdio.h>
main()
{
int day = 0,buy = 2;
float sum = 0.0,ave;
do
{
sum += 0.8 * buy;
day++;
buy *= 2;
}
while (buy <= 100);
ave = sum / day;
printf(“%f”,ave);
}
【题6.106】 #include <stdio.h>
main()
{
int i;
for (i=1; i<100; i++)
if (i * i % 10 == i || i * i % 100 == i)
printf(“%3d”,i);
}
或:
#include <stdio.h>
main()
{
int i;
for (i=1; i<100; i++)
if (i * i % 10 == i)
printf(“%3d”,i);
else if (i * i % 100 == i)
printf(“%3d”,i);
}
【题6.107】 #include <stdio.h>
main()
{
int i,x,y,last = 1;
printf(“Input x and y:”);
scanf(“%d%d”,&x,&y);
for (i=1; i<=y; i++)
last = last * x % 1000;
printf(“\nThe last 3 digits of %d * * %d is,%d\n”,x,y,last%1000);
}
【题6.108】 #include <stdio.h>
main()
{
int i,j;
float g,sum,ave;
for (i=1; i<=6; i++)
{
sum = 0;
for (j=1; j<=5; j++)
{
scanf(“%f”,&g);
sum += g;
}
ave = sum / 5;
printf(“No.%d ave=%5.2f\n”,i,ave);
}
}
键盘输入: 95 70 73 67 64<CR>
60 65 77 86 90<CR>
71 93 63 80 90<CR>
87 83 91 95 89<CR>
100 93 89 92 85<CR>
52 63 66 70 71<CR>
运行结果: No.1 ave=73.80
No.2 ave=75.60
No.3 ave=79.40
No.4 ave=89.00
No.5 ave=91.80
No.6 ave=64.40
【题6.1-6.56】 CBAAD CBB(CA)(DC) BCAAC CCB(BC)(BC) (BD)BDDB DBBCA
CDCCD D(BC)BDC (CD)(CA)DBD CCCCB BBBBA A
【题6.57】 【1】c!=’\n’ 【2】c>=’0’&&c<=’9’
【题6.58】 【1】double 【2】pi+1.0/(i*i)
【题6.59】 【1】x1 【2】x1/2-2
【题6.60】 【1】r=m,m=n,n=r 【2】m%n
【题6.61】 sjhiu
【题6.62】 s=254
【题6.63】 5,5
【题6.64】 36
【题6.65】 3
【题6.66】 * *
【题6.67】 a=-5
【题6.68】 【1】i%3==2&&i%5==3&&i%7==2 【2】j%5==0
【题6.69】 【1】n%10 【2】max=t
【题6.70】 sum%4==0
【题6.71】 【1】s%10 【2】s/10
【题6.72】 k=14 n=-1
【题6.73】 x=1,y=20
【题6.74】 1,3,7,15,
31,63,
【题6.75】 m=4 n=2
【题6.76】 i<=x
【题6.77】 2*x+4*y==90
【题6.78】 -1
【题6.79】 【1】1 【2】3
【题6.80】 【1】t=t*i 【2】t=-t/i
【题6.81】 【1】&a,&b 【2】fabs(b-a)/n 【3】sin(a+i*h)*cos(a+i*h)
【题6.82】 【1】e=1.0 【2】new>=1e-6
【题6.83】 sum=19
【题6.84】 *
#
【题6.85】 * * * * #
【题6.86】 【1】k+=2 【2】j!=i&&j!=k
【题6.87】 【1】m=n 【2】m 【3】m/=10
【题6.88】 【1】m=0,i=1 【2】m+=i
【题6.89】 【1】100-i*5-j*2 【2】k>=0
【题6.90】 【1】j=1 【2】k>=0&&k<=6
【题6.91】 m=1
【题6.92】 1,-2
【题6.93】 * * * * * *
* *
* *
* * * * * *
【题6.94】 # # # #
# # # *
# # * *
# * * *
【题6.95】 2,3
【题6.96】 8
【题6.97】 【1】i==j 【2】k!=i&&k!=j
【题6.98】 【1】k 【2】k/10 【3】continue
【题6.99】 【1】break 【2】i==11
【题6.100】 【1】i<=9 【2】j%3!=0
【题6.101】 2 5 8 11 14
【题6.102】 i=6,k=4
【题6.103】 a=16 y=60
【题6.104】 3 1 –1
【题6.105】 #include <stdio.h>
main()
{
int day = 0,buy = 2;
float sum = 0.0,ave;
do
{
sum += 0.8 * buy;
day++;
buy *= 2;
}
while (buy <= 100);
ave = sum / day;
printf(“%f”,ave);
}
【题6.106】 #include <stdio.h>
main()
{
int i;
for (i=1; i<100; i++)
if (i * i % 10 == i || i * i % 100 == i)
printf(“%3d”,i);
}
或:
#include <stdio.h>
main()
{
int i;
for (i=1; i<100; i++)
if (i * i % 10 == i)
printf(“%3d”,i);
else if (i * i % 100 == i)
printf(“%3d”,i);
}
【题6.107】 #include <stdio.h>
main()
{
int i,x,y,last = 1;
printf(“Input x and y:”);
scanf(“%d%d”,&x,&y);
for (i=1; i<=y; i++)
last = last * x % 1000;
printf(“\nThe last 3 digits of %d * * %d is,%d\n”,x,y,last%1000);
}
【题6.108】 #include <stdio.h>
main()
{
int i,j;
float g,sum,ave;
for (i=1; i<=6; i++)
{
sum = 0;
for (j=1; j<=5; j++)
{
scanf(“%f”,&g);
sum += g;
}
ave = sum / 5;
printf(“No.%d ave=%5.2f\n”,i,ave);
}
}
键盘输入: 95 70 73 67 64<CR>
60 65 77 86 90<CR>
71 93 63 80 90<CR>
87 83 91 95 89<CR>
100 93 89 92 85<CR>
52 63 66 70 71<CR>
运行结果: No.1 ave=73.80
No.2 ave=75.60
No.3 ave=79.40
No.4 ave=89.00
No.5 ave=91.80
No.6 ave=64.40