c语言程序设计复习题参考答案612Word文档格式.docx
- 文档编号:15811650
- 上传时间:2022-11-16
- 格式:DOCX
- 页数:29
- 大小:36.16KB
c语言程序设计复习题参考答案612Word文档格式.docx
《c语言程序设计复习题参考答案612Word文档格式.docx》由会员分享,可在线阅读,更多相关《c语言程序设计复习题参考答案612Word文档格式.docx(29页珍藏版)》请在冰豆网上搜索。
}
2、程序填空:
用*号输出字母C的图案。
#include"
stdio.h"
conio.h"
_printf(“****\n”);
__
*\n"
);
_
printf("
_
getch();
3、8232和9678,它们的个、十、百、千各位数字之和是15的倍数,8+2+3+2=15,9+6+7+8=30。
编写程序,求四位数的所有奇数中,这样的数(各位数字之和是15的倍数)的总和。
所有变量用long数据类型定义!
)答案:
1533459
longi,s=0,a,b,c,d;
for(i=1000;
10000;
{
if(i%2!
=0)
a=i/1000;
/*千位数*/
b=i/100%10;
/*百位数*/
c=i/10%10;
/*十位数*/
d=i%10;
/*个位数*/
if((a+b+c+d)%15==0)
s=s+i;
s=%ld\n"
s);
4、/*下面程序的功能是:
计算并输出700以内的最大的10个能被13或者17整除的自然数之和。
请改正程序中的错误,并运行,最后给出程序运行的正确结果。
只有一处错误!
)*/答案:
6591
voidmain()
{
inttotal=0,mc=0,k=700;
/*mc用于表示数组的下标值,初始时表示第一个元素应为mc=0*/
intpm[10],count=0;
while((k>
=2)&
&
mc<
=10)
if((k%13==0)||(k%17==0))
pm[mc]=k;
mc++;
}
k--;
for(k=1;
k<
=10;
k++)
total+=pm[k-1];
%d\n"
total);
5、求x=1+1/5+1/7+1/9+…的近似值,直到最后一项的绝对值小于10-5为止。
math.h>
doublex=1;
inti;
for(i=5;
fabs(1.0/i)>
=1e-5;
i=i+2)
x+=1.0/i;
x=%f\n"
x);
6、计算如下公式的A20值。
A1=1,A2=1/(1+A1),A3=1/(1+A2),A4=1/(1+A3),......(按四舍五入保留10位小数)。
答案:
0.6180339850
doublea=1.0;
for(i=2;
=20;
a=1/(1+a);
A20=%.10f\n"
a);
7、求[10,1600]之间能被7整除的奇数之和。
90965
inti,s=0;
for(i=10;
=1600;
if(i%7==0&
i%2!
s+=i;
s=%d\n"
8、函数mystrlen(char*s)的功能是求字符串s的长度。
请填空。
intmystrlen(char*s)
{intnum=0;
while(*s++!
='
\0'
){__num++__;
return(num);
}
9、[100,500]之间同时满足除以7余5,除以5余3,除以3余1的整数之和。
1042
for(i=100;
=500;
if(i%7==5&
i%5==3&
i%3==1)
10、求[100,999]之间所有的素数的个数。
143
inti,j,n=0;
=999;
for(j=2;
j<
i;
j++)
if(i%j==0)
break;
if(j==i)
n+=1;
n=%d\n"
n);
11、编写程序,求满足下列条件的所有四位数ABCD的个数,该四位数是8的倍数,且A+B=B+C,即第1位数加上第2位数等于第2位数加上第3位数。
110
inti,n=0,a,b,c;
a=i/1000;
b=i/100%10;
c=i/10%10;
if(i%8==0&
(a+b)==(b+c))
12、/*数列1,2,1,4,7,12,23…具有这样的特征,从第四项(也就是4)开始,每一项是前三项之和,4=1+2+1,7=2+1+4,12=1+4+7….。
下列程序的功能是求出该数列前10项的和。
请改正程序中的错误,并运行修改后的程序,给出程序结果。
)*/
答案:
311
longsum=0,a[30]={1,2,1};
intk,j;
for(k=3;
10;
a[k]=a[k-1]+a[k-2]+a[k-3];
for(j=1;
j++)
sum+=a[j-1];
/*数组a初始下标应为0,所以此处应改为a[j-1]*/
%ld\n"
sum);
13、/*求1到2000之间的双胞胎数的对数。
双胞胎数:
两素数差为2称为双胞胎数。
例如227和229是一对双胞胎数,它们都是素数且差为2。
*/答案:
61
intprime(intx)
intk;
for(k=2;
x;
k++)
if(__x%k==0____)break;
if(k==x)return1;
elsereturn0;
voidmain()
{inta,b,n=0;
intprime(intx);
for(a=2;
a<
=1998;
a++)
if(prime(a)==1)
{b=a+2;
if(__prime(b)___)n++;
%d\n"
14、编写程序,统计200~400之间的所有满足三个数字之积为42,三个数字之和为12的数的个数。
4
inti,a,b,c,n=0;
for(i=200;
=400;
a=i/100;
b=i/10%10;
c=i%10;
if(a+b+c==12&
a*b*c==42)
15、有30个学生一起买小吃,共花钱50元,其中每个大学生花3元,每个中学生花2元,每个小学生花1元,问大、中、小学生的人数分配共有多少种不同的解(去掉某类学生数为0的解)?
9
inti,j,k,n=0;
=28;
for(j=1;
for(k=1;
if(i+j+k==30&
i+2*j+3*k==50)
n+=1;
16、爱因斯坦走台阶:
有一台阶,如果每次走两阶,最后剩一阶;
如果每次走三阶,最后剩两阶;
如果每次走四阶,最后剩三阶;
如果每次走五阶,最后剩四阶;
如果每次走六阶,最后剩五阶;
如果每次走七阶,刚好走完.求满足上述条件的最小台阶数是多少?
119
intm,n;
for(n=1;
;
n++)
if(n%2==1&
n%3==2&
n%4==3&
n%5==4&
n%6==5&
n%7==0)
break;
17、/*求1000以内最大的10个素数的和。
9664
intprime(longn)
longk;
=n-1;
if(_n%k==0__)return0;
return1;
}
longt,total=0,num=0;
intprime(longn);
for(t=1000;
t>
=2;
t--)
if(__prime(t)_)
total=total+t;
num++;
if(num==10)break;
\n%ld"
18、/*求1!
+2!
+3!
+...+7!
,7!
表示7的阶乘。
5913
longjc(longx)
longk,fac=1;
for(k=1;
__k<
=x_;
fac*=k;
__returnfac___;
longn,sum=0;
longjc(longx);
n<
=7;
__sum+=jc(n)__;
19、求10000以内所有完数之和,"
完数"
是指:
一个数如果刚好与它所有的真因子(不包括该数本身)之和相等,如:
6=1+2+3,则6就是一个完数。
所有变量用int数据类型定义!
8658
#include<
inti,j,k,s=0;
=10000;
for(j=1,k=0;
if(i%j==0)
k+=j;
if(k==i)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言程序设计 复习题 参考答案 612