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

上传人:b****1 文档编号:314039 上传时间:2022-10-08 格式:DOCX 页数:41 大小:22.56KB
下载 相关 举报
C语言程序设计实验与习题答案.docx_第1页
第1页 / 共41页
C语言程序设计实验与习题答案.docx_第2页
第2页 / 共41页
C语言程序设计实验与习题答案.docx_第3页
第3页 / 共41页
C语言程序设计实验与习题答案.docx_第4页
第4页 / 共41页
C语言程序设计实验与习题答案.docx_第5页
第5页 / 共41页
点击查看更多>>
下载资源
资源描述

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

《C语言程序设计实验与习题答案.docx》由会员分享,可在线阅读,更多相关《C语言程序设计实验与习题答案.docx(41页珍藏版)》请在冰豆网上搜索。

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

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

2.程序填空

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

#include

voidmain()

{inti,sum= 0;

for(i=1;50;i++)

if(i%7==0)sum+=i;

printf("sum=%d\n",sum);

}

 

(2)下面程序接收来自键盘的输入,直到输入+Z(值为-1)键为止。

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

请填空。

#include

voidmain()

{charcx;

charfront=’’;

while((cx=getchar())!

=’\n’)

{if(cx!

=’’)

putchar(cx);

if(cx==’’)

if(front!

=’’)

putchar(cx);

front=cx;

}

}

 

3.程序改错

(1)下列程序的功能是求1+3+5+…99的和。

#include

voidmain()

{ints,i;★  //ints=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

voidmain()

{inti,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()

{   ints;

    floatn,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()

{   ints;

    longtimes;

    floatn,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()

{

 inti,j,frame;

 doublewheattal=0;

 doublewheatfnu=1;

 printf("Pleaseinputframe’snumbers:

");

 scanf("%d",&frame);

 for(i=0;i

 {

 wheattal+=wheatfnu;

 wheatfnu+=wheatfnu;

 }

 printf("\nTotalwheattatol’stimeter=%e\n",wheattal/1.40e8);

}

(3)题

/*方法一:

使用递推公式n=n+2*/

 

 

main()

{

 int i,n=1;

 doubles=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;

 doubles=0,t=1;

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

 {

  t*=2*i+1;

  s+=t;

 }

 printf("s=%lf",s);

 getch();

}

 

 

 

/*方法三*/

#include"stdio.h"

main()

{

longtotal,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

voidmain()

{inti,sum= 0;

for(i=1;50;i++)

if(i%7==0)sum+=i;

printf("sum=%d\n",sum);

}

 

(2)下面程序接收来自键盘的输入,直到输入+Z(值为-1)键为止。

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

请填空。

#include

voidmain()

{charcx;

charfront=’’;

while((cx=getchar())!

=’\n’)

{if(cx!

=’’)

putchar(cx);

if(cx==’’)

if(front!

=’’)

putchar(cx);

front=cx;

}

}

 

3.程序改错

(1)下列程序的功能是求1+3+5+…99的和。

#include

voidmain()

{ints,i;★  //ints=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

voidmain()

{inti,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()

{   ints;

    floatn,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()

{   ints;

    longtimes;

    floatn,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()

{

 inti,j,frame;

 doublewheattal=0;

 doublewheatfnu=1;

 printf("Pleaseinputframe’snumbers:

");

 scanf("%d",&frame);

 for(i=0;i

 {

 wheattal+=wheatfnu;

 wheatfnu+=wheatfnu;

 }

 printf("\nTotalwheattatol’stimeter=%e\n",wheattal/1.40e8);

}

(3)题

/*方法一:

使用递推公式n=n+2*/

 

 

main()

{

 int i,n=1;

 doubles=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;

 doubles=0,t=1;

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

 {

  t*=2*i+1;

  s+=t;

 }

 printf("s=%lf",s);

 getch();

}

 

 

 

/*方法三*/

#include"stdio.h"

main()

{

longtotal,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

 voidmain()

{inti1,i2,i,j,flag;

printf("inputtwointeger(i1,i2):

");

scanf("%d%d",&i1,&i2);

printf("primenumber:

\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

voidmain

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 外语学习 > 英语考试

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1