好文档 - 专业文书写作范文服务资料分享网站

C语言程序设计试题及答案(三)

天下 分享 时间: 加入收藏 我要投稿 点赞

8、求Sn=a+aa+aaa+…+aa…aaa(有n个a)之值,其中a是一个数字。例如:2+22+222+2222+22222(n=5),n由键盘输入。 #include main(){

int a,n;

long b=0,sum=0; scanf(“%d %d”,&a,&n); for (i=1;i<=n;i++){ b = b*10+a; sum =sum+b; }

printf (“%ld”,sum); }

9、打印出所有\水仙花数\,所谓\水仙花数\是指一个三位数,其各位数字立方和等于该本身。例如:153是一个水仙花数,因为153=13+53+33。 【程序1】

#include main(){

int i,m,n,k;

for(i=100;i<1000;i++){

m=__i__;

n=_ i/10__; k=i/100;

if(__m*m*m+n*n*n+k*k*k==i__) printf(\} }

【程序2】

#include main(){

int i,a,n,s;

for (i=100;i<=999;i++){ n=i;s=0;

while(n>0) { a=__n__; s+=a*a*a; n /=__10__; }

if (__s==i__) printf(“%d”,i); }

10、一个数如果恰好等于它的因子之和,这个数就称为\完数\。例如,6的因子为1、2、3,而6=1+2+3,因此6是\完数\。编程序找出1000之内的所有完数,并按下面格式输出其因子: 6 its factors are 1、2、3

#include main() {

int a,i,m;

for (a =1; a<=1000;a++) {

for (__i=1,m=0__; i <= a/2;i++) if (!(a%i)) __m+=i__;

if (m==a) printf(“M”,a); } }

11、利用:?/4=1-1/3+1/5-1/7+….级数求?的值,直到最后一项的绝对值小于10-6为止。求绝对值的函数为fabs()。 #__include__ #include main(){

int i=1,flag=1;

double sum=0.0,s; do{

s=__1.0/(2*i-1)__; sum+=s*flag; i++;

__flag=-flag__;

}while(__fabs(s)>1e-6__);/**/ printf(\4*sum__); }

11、有一分数序列:2/1,3/2,5/3, 求出这个数列的前20项之和。 #include #define N 20 main(){

int i=1;

double x=1,y=2, sum=0; while(__i<=20__) { sum=sum+__y/x__; y = ___x+y__; x = __y-x__; i++; }

printf(\}

12、一球从100米高度自由下落,每次落地后返回原高度的一半,再落下。求它在第10次落地时共经过多少米?第10次反弹多高? #include

main(){

int i,n=10;

double h=100,s=100; for(i=2;i<=n;i++){

h*=__0.5__; s=__s+h*2__; }

printf(\}

13、猴子吃桃问题。猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。第二天早上又将剩下的桃子吃掉一半,又多吃一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘多少桃子。 #include #define N 10 main(){

int i=1,sum=1; while(i++

sum=__(sum+1)*2__;

printf(\}

14、用迭代法求 。求平方根的迭代公式为:

要求前后两次求出的得差的绝对值少于0.00001。 #include #include main(){

float x0,x1,a; scanf(\x1=a/2; do{

x0=x1;

x1=__(x0+a/x0)/2__; } while(__x1>1e-5__); printf(\}

15、用牛顿迭代法求方程2x3?4x2?3x?6?0在1.5附近的根。 #include

#include ____

#define f(x) 2*x*x*x-4*x*x+3*x-6 main(){

double x,y;x=__1.5__; do{

y = f(x);

x = x - y/(6*x*x-8*x+3);

} while(fabs(y)>1e-6); printf(\}

3216、用二分法求方程2x?4x?3x?6?0在(-10,10)之间的根

#include #include

#define f(x) 2x*x*x-4*x*x+3*x-6 main(){

double x1=-10,x2=10,x,y; do{

x=(x1+x2)/2; y=f(x);

if(y<0) x1=x; else x2=x;

}while(fabs(y)>1e-6); printf(\}

17、以下程序的功能是:输入一个百分制成绩,输出一个五级制成绩等级。例如 输入75,输出 C。请完成填空

#include main(){

int score;

scanf(\%d__\ switch(__score/10__){

case 1:case 2:case 3:case 4:case 5: printf(“grade E\\n”); ___break__; case 6: printf(“grade D\\n”);break; case 7: printf(“grade C\\n”);break; case 8: printf(“grade B\\n”);break; case 9: printf(“grade A\\n”);break; __default__:printf(\ } }

18、该程序功能:对x=1,2,...,10,求f(x)=x*x-5*x+sin(x)的最大值。 #include #include

#define f(x) x*x-5*x+sin(x) void main(){

int x; float max; __max=f(1)__;

for(x=2;x<=10;x++)

__if(max

}

19、程序功能:输入整数a和b的值,若a2+b2大于100,则输出a2+b2百位以上的数字,否则输出两数之和。

#include main(){ int a,b,s;

scanf(\

s=__a*a+b*b__;

if(s>100) printf(\s/100__); else printf(\a+b__); }

20、有1020个西瓜,第一天卖一半多两个,以后每天卖剩下的一半多两个,以下程序统计卖完所需的天数。

#include main(){

int day,x1,x2; day=0;x1=1020;

while(__x1>0__){

x2=__x1/2-2__; x1=x2; day++} printf(“day=%d”,day); }

21、找出整数的所有因子 #include main(){ int i,x;

scanf(“%d”,&x); i=1;

for ( ; __i<=x/2__;){

if (x%i==0) printf(%d”,i); i++; }

22、统计用数字0-9可以组成多少个各位上的数字没有重复的3位偶数。 #include main(){

int n=0,i,j,k;

for (i = 1;i <= 9;i++)

for (k = 0;k <= 8; __k+=2__) if (k != i)

for (j = 0;j <= 9;j++) if (__j!=i&&j!=k__) n++; printf(“n=%d\\n”,n); }

23、用100元换成1、2、5元的所有兑换方案。

C语言程序设计试题及答案(三)

8、求Sn=a+aa+aaa+…+aa…aaa(有n个a)之值,其中a是一个数字。例如:2+22+222+2222+22222(n=5),n由键盘输入。#includemain(){inta,n;longb=0,sum=0;scanf(“%d%d”,&a,&n);for(i=1;i<=n;i+
推荐度:
点击下载文档文档为doc格式
5a4pp6n1i88njyy26yqz6tzp834d3b018si
领取福利

微信扫码领取福利

微信扫码分享