C语言程序设计实验与习题答案
- 格式:doc
- 大小:2.15 MB
- 文档页数:38
... ... 2.程序填空 (1) 以下程序的功能是计算 1~50之间能被 7整除的整数之和。
#include void main()
{int i,sum= 0 ;
for(i=1; 50 ;i++) if( i%7==0 ) sum+=i; printf("sum=%d\n",sum); }
(2) 下面程序接收来自键盘的输入,直到输入 +Z( 值 为-1) 键为止。这些字符被原样输出,但若有连续一个以上的空格 时只输出一个空格。请填空。 #include 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 ... ... 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 void main()
{ int i,x, y=0; ★ //y=1 scanf("%d",&x); for(i=2;i<=x/2&&y;i++)
if ((x%i)!=0 ) y=0; ★ //x%i==0 printf("%d\n",y); }
4.设计性实验
(1)题 /* 方法(1)精度控制 */ #include #include 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 #include 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{ wheattal+=wheatfnu; wheatfnu+=wheatfnu;... ... } n Total wheattatol ’s timeter\=n%",weheattal/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 void main()
{int i,sum= 0 ;
for(i=1; 50 ;i++) if( i%7==0 ) sum+=i; printf("sum=%d\n",sum); }
(2) 下面程序接收来自键盘的输入,直到输入 +Z( 值
为-1) 键为止。这些字符被原样输出,但若有连续一个以上的空格 时只输出一个空格。请填空。... ... #include 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 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 void main()
{ int i,x, y=0; ★ //y=1... ... scanf("%d",&x); for(i=2;i<=x/2&&y;i++)
if ((x%i)!=0 ) y=0; ★ //x%i==0 printf("%d\n",y); }
4.设计性实验
(1)题 /* 方法(1)精度控制 */ #include #include 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 #include 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{ wheattal+=wheatfnu; wheatfnu+=wheatfnu; } n Total wheattatol s tim’eter=%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);