当前位置:文档之家› C语言程序设计实验与习题答案

C语言程序设计实验与习题答案

2.程序填空(1)以下程序的功能是计算1~50之间能被7整除的整数之和。

#include<stdio.h>void main(){int i,sum= 0;for(i=1; 50;i++)if( i%7==0) sum+=i;printf("sum=%d\n",sum);}(2) 下面程序接收来自键盘的输入,直到输入<Ctrl>+Z(值为-1)键为止。

这些字符被原样输出,但若有连续一个以上的空格时只输出一个空格。

请填空。

#include <stdio.h>void main(){char cx;char front=’’;while ( (cx=getchar())!=’\n’){if (cx!=’’)putchar(cx);if (cx= =’’)if (front!=’’)putchar(cx);front=cx;}}3.程序改错(1)下列程序的功能是求1+3+5+…99的和。

#include <stdio.h>void main( ){ int s,i; ★ //int s=0,i;i=1;while(i<=99)s=s+i;★ //{s=s+i;i++;}printf("1+3+5+…99的和是:%d\n",s);}(2)下面程序的功能是输入一个正整数,判断是否是素数,若为素数输出1,否则输出0。

#include <stdio.h>void main(){ int i,x,y=0; ★ //y=1scanf("%d",&x);for(i=2;i<=x/2&&y;i++)if ((x%i)!=0) y=0; ★ //x%i==0printf("%d\n",y);}4.设计性实验(1)题/* 方法(1)精度控制*/#include <stdio.h>#include <math.h>{ int s;float n,t,pi;t=1; pi=0; n=1.0; s=1;while((fabs(t))>=1e-6){ pi=pi+t;n=n+2;s=-s;t=s/n;}pi=pi*4;printf("pi=%10.6f\n",pi);}/* 方法(2)次数控制*/#include <stdio.h>#include <math.h>main(){ int s;long times;float n,t,pi;t=1; pi=0; n=1.0; s=1;for(times=1;times<=1e9;times++) { pi=pi+t;n=n+2;s=-s;t=s/n;pi=pi*4;printf("pi=%10.6f\n",pi);}(2)题main(){int i,j,frame;double wheattal=0;double wheatfnu=1;printf("Please input frame’s numbers:");scanf("%d",&frame);for(i=0;i<frame;i++){wheattal+=wheatfnu;wheatfnu+=wheatfnu;}printf("\n Total wheattatol’s timeter=%e\n",wheattal/1.40e8); }(3)题/*方法一:使用递推公式n=n+2*/main()int i,n=1;double s=0,t=1;for(i=1;i<=20;i++){t*=n;s+=t;n+=2;}printf("s=%lf",s);getch();}/*方法二:使用通项公式2*i+1*/ main(){int i;double s=0,t=1;for(i=1;i<=20;i++){t*=2*i+1;s+=t;}printf("s=%lf",s);getch();}/*方法三*/#include "stdio.h"main(){long total,sum,m,n,t;total=0;for(m=1;m<=20;m++){sum=1;t=1;for(n=1;n<=m;n++) { sum=sum*t; t=t+2;}total=total+sum;}printf("total=%ld",total);}2.程序填空(1)以下程序的功能是计算1~50之间能被7整除的整数之和。

#include<stdio.h>void main(){int i,sum= 0;for(i=1; 50;i++)if( i%7==0) sum+=i;printf("sum=%d\n",sum);}(2) 下面程序接收来自键盘的输入,直到输入<Ctrl>+Z(值为-1)键为止。

这些字符被原样输出,但若有连续一个以上的空格时只输出一个空格。

请填空。

#include <stdio.h>void main(){char cx;char front=’’;while ( (cx=getchar())!=’\n’){if (cx!=’’)putchar(cx);if (cx= =’’)if (front!=’’)putchar(cx);front=cx;}}3.程序改错(1)下列程序的功能是求1+3+5+…99的和。

#include <stdio.h>void main( ){ int s,i; ★ //int s=0,i;i=1;while(i<=99)s=s+i;★ //{s=s+i;i++;}printf("1+3+5+…99的和是:%d\n",s);}(2)下面程序的功能是输入一个正整数,判断是否是素数,若为素数输出1,否则输出0。

#include <stdio.h>void main(){ int i,x,y=0; ★ //y=1scanf("%d",&x);for(i=2;i<=x/2&&y;i++)if ((x%i)!=0) y=0; ★ //x%i==0printf("%d\n",y);}4.设计性实验(1)题/* 方法(1)精度控制*/#include <stdio.h>#include <math.h>main(){ int s;float n,t,pi;t=1; pi=0; n=1.0; s=1;while((fabs(t))>=1e-6){ pi=pi+t;n=n+2;s=-s;t=s/n;}pi=pi*4;printf("pi=%10.6f\n",pi);}/* 方法(2)次数控制*/#include <stdio.h>#include <math.h>main(){ int s;long times;float n,t,pi;t=1; pi=0; n=1.0; s=1;for(times=1;times<=1e9;times++) { pi=pi+t;n=n+2;s=-s;t=s/n;}pi=pi*4;printf("pi=%10.6f\n",pi);}(2)题main(){int i,j,frame;double wheattal=0;double wheatfnu=1;printf("Please input frame’s numbers:");scanf("%d",&frame);for(i=0;i<frame;i++){wheattal+=wheatfnu;wheatfnu+=wheatfnu;}printf("\n Total wheattatol’s timeter=%e\n",wheattal/1.40e8); }(3)题/*方法一:使用递推公式n=n+2*/main(){int i,n=1;double s=0,t=1;for(i=1;i<=20;i++){s+=t;n+=2;}printf("s=%lf",s);getch();}/*方法二:使用通项公式2*i+1*/ main(){int i;double s=0,t=1;for(i=1;i<=20;i++){t*=2*i+1;s+=t;}printf("s=%lf",s);getch();}/*方法三*/#include "stdio.h"{long total,sum,m,n,t;total=0;for(m=1;m<=20;m++){sum=1;t=1;for(n=1;n<=m;n++) { sum=sum*t; t=t+2;}total=total+sum;}printf("total=%ld",total);}2.程序填空(1)求任意两个整数之间所有的素数。

#include <stdio.h>void main(){int i1,i2,i,j,flag;printf("input two integer(i1,i2):");scanf("%d%d", &i1 , &i2 );printf("prime number:\n");for(i= i1 ;i<= i2 ;i++){flag=1;for(j=2;j<=i-1;j++){if(i%j==0){flag= 0 ;break;}}if(flag==1)printf("%d\t",i);}printf("\n");}(2)以下程序的功能是输出下三角九九乘法表。

#include <stdio.h>void main(){ int i,j;for(i=1;i<= 9;i++){ for(j=1;j<= i;j++)printf("%d*%d=%d\t",i,j, i*j);printf("\n");}}3.程序改错(1)下列程序的功能是输出所有的“水仙花数”。

相关主题