程序改错Word文档格式.docx
《程序改错Word文档格式.docx》由会员分享,可在线阅读,更多相关《程序改错Word文档格式.docx(122页珍藏版)》请在冰点文库上搜索。
![程序改错Word文档格式.docx](https://file1.bingdoc.com/fileroot1/2023-5/4/e9d9e12c-867c-4eca-aa05-f5d61e7e94cb/e9d9e12c-867c-4eca-aa05-f5d61e7e94cb1.gif)
\n\n"
puts(s);
fun(s);
printf("
\n\nTheCords:
2.给定程序modi.c中函数fun的功能是:
先将s所指字符串中的字符按逆序存放到t所指字符串中,然后把s所指串中的字符按正序连接到t所指串的后面。
例如:
当s中的字符串为:
"
ABCDE"
时,
则t中的字符串应为:
EDCBAABCDE"
。
请改正程序中的错误,使它能得出正确的结果。
注意:
string.h>
#include<
voidfun(char*s,char*t)
/************found************/
inti,sl;
sl=strlen(s);
for(i=0;
i<
sl;
i++)
t[i]=s[sl-i-1];
t[sl+i]=s[i];
t[2*sl]='
\0'
{chars[100],t[100];
\nPleaseenterstrings:
scanf("
%s"
s);
fun(s,t);
Theresultis:
%s\n"
t);
3.给定程序modi.c中函数fun的功能是:
4.给定程序modi.c中函数fun的功能是:
依次取出字符串中所有数字字符,形成新的字符串,并取代原字符串。
voidfun(char*s)
{inti,j;
for(i=0,j=0;
s[i]!
if(s[i]>
0'
s[i]<
9'
/**********found**********/
s[j++]=s[i];
s[j]='
{charitem[80];
\nEnterastring:
"
gets(item);
\n\nThestringis:
\"
%s\"
\n"
item);
fun(item);
\n\nThestringofchangingis:
item);
5.给定程序modi.c中函数fun的功能是:
对N名学生的学习成绩,按从高到低的顺序找出前m(m≤10)名学生来,并将这些学生数据存放在一个动态分配的连续存储区中,此存储区的首地址作为函数值返回。
#defineN10
typedefstructss
{charnum[10];
ints;
}STU;
STU*fun(STUa[],intm)
{STUb[N],*t;
inti,j,k;
*t=(STU*)calloc(sizeof(STU),m);
for(i=0;
N;
i++)b[i]=a[i];
for(k=0;
k<
m;
k++)
{for(i=j=0;
if(b[i].s>
b[j].s)j=i;
t[k]=b[j];
t[k].s=b[j].s;
b[j].s=0;
returnt;
outresult(STUa[],FILE*pf)
{inti;
fprintf(pf,"
No=%sMark=%d\n"
a[i].num,a[i].s);
\n\n"
{STUa[N]={{"
A01"
81},{"
A02"
89},{"
A03"
66},{"
A04"
87},{"
A05"
77},
{"
A06"
90},{"
A07"
79},{"
A08"
61},{"
A09"
80},{"
A10"
71}};
STU*pOrder;
inti,m;
*****TheOriginaldata*****\n"
outresult(a,stdout);
\nGivethenumberofthestudentswhohavebetterscore:
%d"
&
m);
while(m>
10)
{printf("
pOrder=fun(a,m);
*****THERESULT*****\n"
Thetop:
%s%d\n"
pOrder[i].num,pOrder[i].s);
free(pOrder);
6.给定程序MODI1.C中,函数fun的功能是:
在任意给定的N个正整数中,从左到右依次逐个取三个数作为一组,按值大小找出该组数的中值,用该中值替换与该组数对应的原三个数中的中间位置的数。
处理后原数列中首尾2个数不变。
处理后数列在主函数中输出。
例如,有10个正整数如下:
请改正程序中指定部位的错误,使它能得出正确结果。
intfindmid(inta,intb,intc)
{intt;
t=(a>
b)?
(b>
c?
b:
(a>
c:
a)):
((a>
c)?
a:
((b>
b));
voidfun(intx[])
{inti,a,b,c,t[N];
i<
i++)t[i]=x[i]
N-2;
i++)
{a=t[i];
b=t[i+1];
c=t[i+2];
x[i+1]=findmid(a,b,c);
{inti,x[N]={6,5,7,23,18,5,8,21,45,38};
i++)printf("
%d"
x[i]);
fun(x);
7.给定程序modi.c中函数fun的功能是:
将字符串s中位于奇数位置的字符或ASCII码为偶数的字符放入字符串t中(规定第一个字符放在第0位中)。
例如,字符串中的数据为:
AABBCCDDEEFF,
则输出应当是:
ABBCDDEFF。
#defineN80
voidfun(char*s,chart[])
{inti,j=0;
(int)strlen(s);
/***********found**********/
if(i%2||s[i]%2==0)
t[j++]=s[i];
t[j]='
{chars[N],t[N];
\nPleaseenterstrings:
\nTheresultis:
t);
8.在主函数中从键盘输入若干个数放入数组中,输入0结束输入并放在最后一个元素中。
给定程序modi.c中函数fun的功能是:
计算数组元素中值为正数的平均值(不包括0)。
数组中元素中的值依次为:
39,-47,21,2,-8,15,0,
则程序的运行结果为:
19.250000。
请改正函数fun中的错误,使它能得出正确的结果。
doublefun(intx[])
floatsum=0.0;
intc=0,i=0;
while(x[i]!
=0)
{if(x[i]>
0){
sum+=x[i];
c++;
i++;
sum=sum/c
returnsum;
main()
{intx[1000];
inti=0;
printf("
\nPleaseentersomedata(endwith0):
);
do
{scanf("
&
x[i]);
while(x[i++]!
=0);
%f\n"
fun(x));
9.给定程序modi.c中函数fun的功能是:
在p所指字符串中找出ASCII码值最大的字符,将其放在第一个位置上;
并将该字符前的原字符向后顺序移动。
例如,调用fun函数之前给字符串输入:
GABCDeFGH
调用后字符中的内容为:
eGABCDFGH
请改正程序中的错误,使它能得出正确结果。
fun(char*p)
{charmax,*q;
max=p[i];
while(p[i]!
=0)
{if(max<
p[i])
{max=p[i];
q=p+i;
while(q>
p)
{*q=*(q-1);
q--;
p[0]=max;
{charstr[80];
printf("
Enterastring:
gets(str);
\nTheoriginalstring:
puts(str);
fun(str);
\nThestringaftermoving:
10.给定程序modi.c中,函数fun的功能是:
应用递归算法求形参a的平方根,求平方根的迭代公式如下:
例如,2的平方根值为:
1.414214。
math.h>
doublefun(doublea,doublex0)
{doublex1,y;
x1=(x0+a/x0)/2.0;
/************found************/
if(fabs(x1-x0)>
0.00001)
y=fun(a,x1);
elsey=x1;
returny;
{doublex;
Enterx:
scanf("
%lf"
x);
Thesquarerootof%lfis%lf\n"
x,fun(x,1.0));
11.给定程序modi.c的功能是:
读入一个整数k(2≤k≤10000),打印它的所有质因子(即所有为素数的因子)。
例如,若输入整数:
2310,则应输出:
2、3、5、7、11。
请改正程序中的语法错误,使程序能得出正确的结果。
#include"
conio.h"
stdio.h"
windows.h"
Isprime(n);
{inti,m;
m=1;
for(i=2;
n;
if(!
(n%i))
{m=0;
break;
return(m);
{intj,k;
\nPleaseenteranintegernumberbetween2and10000:
k);
\n\nTheprimefactor(s)of%dis(are):
k);
for(j=2;
j<
=k;
j++)
if((!
(k%j))&
(Isprime(j)))printf("
\n%4d"
j);
12.给定程序modi.c中函数fun的功能是:
根据输入的三个边长(整型值),判断能否构成三角形:
构成的是等边三角形,还是等腰三角形。
若能构成等边三角形函数返回3,若能构成等腰三角形函数返回2,若能构成一般三角形函数返回1,若不能构成三角形函数返回0。
intfun(inta,intb,intc)
{if(a+b>
c&
b+c>
a&
a+c>
b){
if(a==b&
b==c)
/**************found**************/
return3;
elseif(a==b||b==c||a==c)
return2;
elsereturn1;
elsereturn0;
{inta,b,c,shape;
\nInputa,b,c:
%d%d%d"
a,&
b,&
c);
\na=%d,b=%d,c=%d\n"
a,b,c);
shape=fun(a,b,c);
\n\nTheshape:
%d\n"
shape);
13.给定程序MODI.C中函数fun的功能是:
计算整数n的阶乘。
请改正程序中的错误或在横线处填上适当的内容并把横线删除,使它能计算出正确的结果。
doublefun(intn)
doubleresult=1.0;
while(n>
1&
n<
170)
/*********found*********/
result*=(double)n--;
returnresult;
intn;
Enteraninteger:
n);
\n\n%d!
=%lg\n\n"
n,fun(n));
14.给定程序modi.c中,fun函数的功能是:
将n个无序整数从小到大排序。
stdlib.h>
fun(intn,int*a)
{inti,j,p,t;
for(i=j+1;
{p=j;
n-1;
if(a[p]>
a[i])
p=i;
if(p!
=j)
{t=a[j];
a[j]=a[p];
a[p]=t;
putarr(intn,int*z)
{inti;
for(i=1;
=n;
i++,z++)
{printf("
%4d"
*z);
(i%10))printf("
}printf("
{intaa[20]={9,3,0,4,1,2,5,6,8,10,7},n=11;
\n\nBeforesorting%dnumbers:
n);
putarr(n,aa);
fun(n,aa);
\nAftersorting%dnumbers:
15.给定程序modi.c中,函数fun的功能是:
将一个由八进制数字组成的字符串转换为与其面值相等的十进制整数。
规定输入的字符串最多只能包含5位8进制数字。
例如,若输入77777,则输出将是32767。
intfun(char*p)
{intn;
n=*p-'
p++;
while(*p!
{
/************found************/
n=n*8+*p-'
returnn;
{chars[6];
inti;
i