c语言循环训练二Word下载.docx
- 文档编号:21121079
- 上传时间:2023-01-27
- 格式:DOCX
- 页数:14
- 大小:18.54KB
c语言循环训练二Word下载.docx
《c语言循环训练二Word下载.docx》由会员分享,可在线阅读,更多相关《c语言循环训练二Word下载.docx(14页珍藏版)》请在冰豆网上搜索。
,count,max);
例3:
等差数列的第一项a=2,公差d=3,下面程序的功能是在前n项和中,输出能被4整除的所有数的和。
{inta,d,sum;
a=2;
d=3;
sum=0;
{sum+=a;
a+=d;
if()printf("
%4d\n"
sum);
}while(sum<
200);
例4:
下面程序的功能是求1111的个、十、百位上的数字之和。
{inti,s=1,m=0;
for(i=1;
i<
=11;
i++)s=s*11%1000;
do{m+=【1】;
s=【2】;
}while(s);
printf("
m=%d\n"
m);
例5:
当运行以下程序时,从键盘输入12345-1<
则下面程序的运行结果是。
{intk=0,n;
do{scanf("
k+=n;
}while(n!
=-1);
k=%dn=%d\n"
k,n);
例6:
下面程序的运行结果是。
{inti,x,y;
i=x=y=0;
do{++i;
if(i%2!
=0){x=x+i;
i++;
y=y+i++;
}while(i<
=7);
x=%d,y=%d\n"
x,y);
例7:
{inta,b,i;
a=1;
b=3;
i=1;
do{printf("
%d,%d,"
a,b);
a=(b-a)*2+b;
b=(a-b)*2+a;
if(i++%2==0)printf("
}while(b<
100);
例8:
当从键盘输入-10<
则以下程序的运行结果是。
{inta,b,m,n;
m=n=1;
%d%d"
a,&
b);
do{if(a>
0){m=2*n;
b++;
else{n=m+n;
a+=2;
}while(a==b);
m=%dn=%d\n"
m,n);
例9:
下面程序段是找出整数的所有因子,请分析程序填空。
x);
for(i=1;
;
i++)
if(x%i==0)printf("
%3d"
例10:
鸡兔同笼,头30,脚90,下面程序段计算鸡兔各有多少只。
for(x=1;
x<
=30;
x++)
{y=30-x;
if(【1】)printf("
%d,%d"
例11:
下面程序段的运行结果是。
for(a=1,i=-1;
-1<
=i<
1;
i++)
{a++;
%d,"
a);
%2d"
例12:
下面程序的功能是计算1-3+5-7+...-99+101的值,请分析程序填空。
{inti,t=1,s=0;
=101;
i+=2)
{【1】;
s=s+t;
【2】;
%d\n"
s);
参考答案:
1
2
3
i%3==2&
&
i%5==3&
i%7==2
n%10
sum%4==0
j%5==0
max=t
4
5
6
s%10
k=14n=-1
x=1,y=20
s/10
7
8
9
1,3,7,15,
31,63,
m=4n=2
=x
10
11
12
2*x+4*y==90
-1
t=t*i
t=-t/i
练习:
1、以下程序是用梯形法求sin(x)*cos(x)的定积分。
求定积分的公式为:
s=h/2(f(a)+f(b))+h∑f(xi)(i=1~n-1)
其中xi=a+ih,h=(b-a)/n。
设a=0,b=1.2为积分上下限,积分区间分隔数n=100,请分析程序填空。
math.h>
{inti,n;
doubleh,s,a,b;
Inputa,b:
"
scanf("
%lf%lf"
【1】);
n=100;
h=【2】;
s=0.5*(sin(a)*cos(a)+sin(b)*cos(b));
=n-1;
i++)s+=【3】;
s*=h;
s=%10.4lf\n"
2、以下程序的功能是根据公式e=1+1/1!
+1/2!
+...1/n!
求e的近似值,精度要求为10-6。
{inti;
doublee,new;
【1】;
new=1.0;
{new/=(double)i;
e+=new;
e=%lf\n"
e);
3、下面程序的运行结果是。
{inti,t,sum=0;
for(t=i=1;
=10;
)
{sum+=t;
++i;
if(i%3==0)t=-i;
elset=i;
sum=%d"
4、下面程序的运行结果是。
=5;
switch(i%2)
{case0:
#"
break;
case1:
i+=2;
*"
default:
5、下面程序的运行结果是。
{inti,j=4;
for(i=j;
=2*j;
switch(i/j)
case1:
case2:
6、下面程序的功能是求出用数字0至9可以组成多少个不重复的三位偶数。
{intn=0,i,j,k;
=9;
for(k=0;
k<
=8;
【1】)
if(k!
=i)
for(j=0;
j<
j++)
if(【2】)n++;
n=%d\n"
n);
7、下面程序的功能是输出1至100之间每位数的乘积大于每位数的和的数,请分析程序填空。
{intn,k=1,s=0,m;
for(n=1;
n<
=100;
n++)
{k=1;
s=0;
while(【2】)
{k*=m%10;
s+=m%10;
【3】;
if(k>
s)printf("
8、下面程序的功能是求1000以内的所有完全数。
说明:
一个数如果恰好等于它的因子之和(除自身外),则称该数为完全数。
例如:
6=1+2+3。
{inta,i,m;
for(a=1;
a<
=1000;
a++)
{for(【1】;
=a/2;
if(!
(a%i))【2】;
if(m==a)printf("
9、下面程序的功能是完成用一元人民币兑换一分、两分、五分零币的所有兑换方案。
{inti,j,k,l=1;
for(i=0;
=20;
=50;
{k=【1】;
if(【2】)
{printf("
%2d%2d%2d"
i,j,k);
l=l+1;
if(l%5==0)printf("
10、下面程序的功能是从三个红球、五个白球、六个黑球中任意取出八个球,且其中必须有白球,输出所有可能的方案。
{inti,j,k;
\nhongbaihei\n"
=3;
for(【1】;
{k=8-i-j;
%3d%3d%3d\n"
i,j,k);
11、若从键盘输入6514<
,则下面程序的运行结果是。
{intm,n;
Enterm,n:
m,&
while(m!
=n)
{while(m>
n)m-=n;
while(n>
m)n-=m;
12、下面程序的运行结果是。
{inty=2,a=1;
while(y--!
=-1)
{do{a*=y;
a++;
}while(y--);
a,y);
13、下面程序的运行结果是。
{inti,j;
{for(j=0;
if(i==0||j==0||i==3||j==5)printf("
elseprintf("
"
14、下面程序的运行结果是。
for(i=4;
i>
=1;
i--)
{for(j=1;
=i;
j++)putchar('
#'
for(j=1;
=4-i;
*'
putchar('
\n'
15、下面程序的运行结果是。
{inti,k=0;
{k++;
while(k<
i*i)
if(k%3==0)gotoloop;
loop:
i,k);
16、下面程序段的运行结果是。
s=3;
do{s+=i++;
if(s%7==0)continue;
else++i;
}while(s<
15);
17、若用0至9之间不同的三个数构成一个三位数,下面程序将统计出共有多少种方法。
{inti,j,k,count=0;
if(【1】)continue;
elsefor(k=0;
k++)
if(【2】)count++;
count);
18、下面程序的功能是计算100至1000之间有多少个数其各位数字之和是5。
{inti,s,k,count=0;
for(i=100;
{s=0;
k=i;
while(【1】){s+=k%10;
k=【2】;
if(s!
=5)【3】;
elsecount++;
19、下面程序的功能是从键盘输入的10个整数中,找出第一个能被7整除的数。
若找到,打印此数后退出循环;
若未找到,打印“notexist”。
#include<
{inti,a;
{scanf("
a);
if(a%7==0){printf("
notexist\n"
20、下面程序的功能是输出100以内个位数为6且能被3整除的所有数。
for(i=0;
【1】;
{j=i*10+6;
if(【2】)continue;
j);
21、下面程序的运行结果是。
{inti=1;
while(i<
=15)
if(++i%3!
=2)continue;
%d"
22、下面程序的运行结果是。
{inti,j,k=19;
while(i=k-1)
{k-=3;
if(k%5==0){i++;
continue;
elseif(k<
5)break;
i++;
i=%d,k=%d\n"
23、下面程序的运行结果是。
{inta=10,y=0;
do
{a+=2;
y+=a;
if(y>
50)break;
}while(a=14);
a=%dy=%d\n"
24、下面程序的运行结果是。
{inti=5;
{switch(i%2)
{case4:
i--;
case6:
i--;
printf(%d"
}while(i>
0);
编程题
25、每个苹果0.8元,第一天买2个苹果,第二天开始买前一天的2倍,直至购买的苹果个数达到不超过100的最大值。
编写程序求每天平均花多少钱。
26、编写程序,找出1至99之间的全部同构数。
同构数是这样一组数:
它出现在平方数的右边。
例如,5是25右边的数,25是625右边的数,5和25就是同构数。
27、编写程序,求一个整数任意次方的最后三位数。
即求xy值的最后三位数,要求x,y从键盘输入。
28、编写程序,从键盘输入6名学生的五门成绩,分别统计出每个学生的平均成绩。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 循环 训练