C语言程序改错题.docx

上传人:b****5 文档编号:27861232 上传时间:2023-07-05 格式:DOCX 页数:9 大小:16.02KB
下载 相关 举报
C语言程序改错题.docx_第1页
第1页 / 共9页
C语言程序改错题.docx_第2页
第2页 / 共9页
C语言程序改错题.docx_第3页
第3页 / 共9页
C语言程序改错题.docx_第4页
第4页 / 共9页
C语言程序改错题.docx_第5页
第5页 / 共9页
点击查看更多>>
下载资源
资源描述

C语言程序改错题.docx

《C语言程序改错题.docx》由会员分享,可在线阅读,更多相关《C语言程序改错题.docx(9页珍藏版)》请在冰豆网上搜索。

C语言程序改错题.docx

C语言程序改错题

第12次上机程序改错

第1题

【程序改错】

--------------------------------------------------------

功能:

求二分之一的圆面积,函数通过形参得到圆的半径,函数

返回二分之一的圆面积。

例如:

输入圆的半径值:

19.527输出为:

s=598.950017。

------------------------------------------------------*/

#include

#include

/**********FOUND**********/

doublefun(r)doublefun(doubler)

{

doubles;

/**********FOUND**********/

s=1/2*3.14159*r*r;s=1.0/2*3.14159*r*r;

/**********FOUND**********/

returnr;returns;

}

main()

{

floatx;

printf("Enterx:

");

scanf("%f",&x);

printf("s=%f\n",fun(x));

}

第2题【程序改错】

功能:

先将在字符串s中的字符按逆序存放到t串中,然后把s中的

字符按正序连接到t串的后面。

例如:

当s中的字符串为:

“ABCDE”时,则t中的字符串应为:

“EDCBAABCDE”。

------------------------------------------------------*/

#include

#include

#include

voidfun(char*s,char*t)

{

/**********FOUND**********/

inti;intsl,i;

sl=strlen(s);

for(i=0;i

/**********FOUND**********/

t[i]=s[sl-i];t[i]=s[sl];

for(i=0;i

t[sl+i]=s[i];t[sl+i]=s[sl-i-1];

/**********FOUND**********/

t[2*sl]="0";t[2*sl]=’0\’ ;

}

main()

{

chars[100],t[100];

printf("\nPleaseenterstrings:

");scanf("%s",s);

fun(s,t);

printf("Theresultis:

%s\n",t);

}

第3题【程序改错】

功能:

求出以下分数序列的前n项之和。

和值通过函数值返回main

函数。

2/1+3/2+5/3+8/5+13/8+21/13……

例如:

若n=5,则应输出:

8.391667。

------------------------------------------------------*/

#include

#include

/**********FOUND**********/

fun(intn)doublefun(intn)

{

inta,b,c,k;doubles;

s=0.0;a=2;b=1;

for(k=1;k<=n;k++)

{

/**********FOUND**********/

s=(double)a/b;s=s+(double)a/b;

c=a;

a=a+b;

b=c;

}

/**********FOUND**********/

returnc;returns;

}

main()

{

intn=5;

printf("\nThevalueoffunctionis:

%lf\n",fun(n));

}

第4题【程序改错】

--------------------------------------------------------

功能:

以下程序能求出1*1+2*2+......+n*n<=1000中满足条件的

最大的n。

------------------------------------------------------*/

#include

#include"string.h"

main()

{

intn,s;

/**********FOUND**********/

s==n=0;s=0,n=0;

/**********FOUND**********/

while(s>1000)while(s<=1000)

{

++n;

s+=n*n;

}

/**********FOUND**********/

printf("n=%d\n",&n-1);printf("n=%d\n",n-1);

}

第5题

【程序改错】

--------------------------------------------------------

功能:

利用二维数组输出如图所示的图形。

*******

*****

***

*

***

*****

*******

------------------------------------------------------*/

#include

#include

/**********FOUND**********/

#defineN=7#defineN7

main()

{

chara[N][N];

inti,j,z;

for(i=0;i

for(j=0;j

/**********FOUND**********/

a[i][j]=;a[i][j]=’’;

z=0;

for(i=0;i<(N+1)/2;i++)

{

for(j=z;j

a[i][j]='*';

z=z+1;

}

/**********FOUND**********/

z=0;

for(i=(N+1)/2;i

{

z=z-1;z--;

for(j=z;j

a[i][j]='*';

}

for(i=0;i

{

for(j=0;j

/**********FOUND**********/

printf("%d",a[i][j]);printf("%c",a[i][j]);

printf("\n");

}

}

第6题【程序改错】

--------------------------------------------------------

功能:

求出a所指数组中最大数和次最大数(规定最大数和次最大

数不在a[0]和a[1]中),依次和a[0]、a[1]中的数对调。

例如:

数组中原有的数:

7、10、12、0、3、6、9、11、5、8,

输出的结果为:

12、11、7、0、3、6、9、10、5、8。

------------------------------------------------------*/

#include

#include

#defineN20

voidfun(int*a,intn)

{

intk,m1,m2,max1,max2,t;

max1=max2=-32768;m1=m2=0;

for(k=0;k

if(a[k]>max1)

{

max2=max1;m2=m1;

max1=a[k];m1=k;

}

/**********FOUND**********/

elseif(a[k]>max1)elseif(a[k]>max2)

{

max2=a[k];m2=k;}

/**********FOUND**********/

t=a[0];

a[m1]=a[0];a[0]=a[m1];

a[m1]=t;

/**********FOUND**********/

t=a[1];

a[m2]=a[1];a[1]=a[m2]

a[m2]=t;

}

main()

{

intb[N]={7,10,12,0,3,6,9,11,5,8},n=10,i;

for(i=0;i

printf("%d",b[i]);

printf("\n");

fun(b,n);

for(i=0;i

printf("%d",b[i]);

printf("\n");

}

第7题

【程序改错】

--------------------------------------------------------

功能:

根据以下公式求π值,并作为函数值返回。

例如:

给指定精度的变量eps输入0.0005时,应当输出Pi=3.140578。

π1121231234

—=1+—+—x—+—x—x—+—x—x—x—+...

23353573579

------------------------------------------------------*/

#include

doublefun(doubleeps)

{

doubles,t;

intn=1;

s=0.0;

t=1;

/**********FOUND**********/

while(t<=eps)

{

s+=t;

/**********FOUND**********/

t=n/(2*n+1)*t;

n++;

}

/**********FOUND**********/

returns;

}

main()

{

doublex;

scanf("%lf",&x);

printf("\neps=%lf,Pi=%lf\n\n",x,fun(x));

}

第8题【程序改错】

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

当前位置:首页 > 高等教育 > 其它

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

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