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

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

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; ★10.6f10.6f10.6f10.6f代表个数*/

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

for(j=0;j<=9;j++)

for(k=0;k<=9;k++)

if(i*i*i+j*j*j+k*k*k==1099) /*在所有组合中找出满足指定条件的*/

{

printf("%4d",100*i+10*j+k);

n++;

if(n%5==0) printf("\n"); /*表示每行输出5个数*/

}

}

#include<>

#include<>

main()

{

int i,j,k;

for(i=1;i<=4;i++) /*上三角形有4行,每循环1次输出1行*/

{

for(k=1;k<8-((2*i-1)/2);k++) /*该循环输出每行的空格.8用于调节偏离位置,可换成别的数(>=8)*/

printf(" ");

for(j=1;j<=2*i-1;j++) /*该循环输出每行的’*’字符*/

printf("*");

putchar(’\n’);/*换行*/

for(i=3;i>=1;i--) /*下面为倒三角形,有3行*/ {

for(k=1;k<8-((2*i-1)/2);k++)

printf(" ");

for(j=1;j<=2*i-1;j++)

printf("*");

putchar(’\n’);

}

}

main( )

{ int n=1,score,t;

scanf("%d",&score);

while (score>=0&&n<=5)

{ n++;

t=0;

while(score!=0)

{

t=t+(score%10)*(score%10);

score=score/10;

}

if(t==108)

printf("%d",score);

scanf("%d",&score);

}

}

#include ""

main()

{

float x0,x1,x2,fx0,fx1,fx2; /*x1,x2分别表示每次区间的左右端点,x0代表区间的中间点,fx0,fx1,fx2代表相应点的函数值*/

do

{printf("please input x1&x2:");

scanf("%f,%f",&x1,&x2);

fx1=x1*((2*x1-4)*x1+3)-6;

fx2=x2*((2*x2-4)*x2+3)-6;

}while(fx1*fx2>0); /*该循环指定有根的区间*/

do

{

x0=(x1+x2)/2;

fx0=x0*((2*x0-4)*x0+3)-6;

if((fx0*fx1)<0) /*丢掉右区间*/

{

x2=x0;

fx2=fx0;

}

else /*丢掉左区间*/

{

x1=x0;

fx1=fx0;

}

}while(fabs(fx0)>1e-5); /*该循环实现二分法求根*/

printf("root x=%f",x0);

}

2)程序填空

(1)

#include <>

void main()

{

int m,n,num1,num2,temp;

printf("Input two positive integer:\n");

scanf("%d,%d",&num1,__&num2_______);

if(num1

{temp=num1; num1=num2; num2=__temp_______;}

m=num1;

n=num2;

while(n!=0)

{ temp=__m%n__________;

m=n;

n=temp;

}

printf("The grestest common divisor is %d\n",m);

printf("The lowest common multiple is %d\n",num1*num2/__m____); }

相关文档
最新文档