程序改错40Word文件下载.docx
- 文档编号:21214616
- 上传时间:2023-01-28
- 格式:DOCX
- 页数:40
- 大小:24.97KB
程序改错40Word文件下载.docx
《程序改错40Word文件下载.docx》由会员分享,可在线阅读,更多相关《程序改错40Word文件下载.docx(40页珍藏版)》请在冰豆网上搜索。
}
returns;
题目2:
函数fun的功能是:
计算正整数num的各位上的数字之积。
例如,输入252,则输出应该是20。
请改正程序中的错误,使它能得出正确的结果。
longfun(longnum)
longk;
do
k*=num%10;
num\=10;
}while(num);
returnk;
longn;
\nPleaseenteranumber:
scanf("
%ld"
n);
\n%ld\n"
fun(longn));
题目3:
用"
冒泡法"
对输入的十个字符排序后按从小到大的次序输出.
#defineN10
main()
{inti;
charstr[N];
/***********FOUND***********/
scanf("
%s"
&
str);
sort(str[N]);
for(i=0;
N;
i++)
%c"
str[i]);
printf("
\n"
sort(charstr[N])
{inti,j;
chart;
for(j=1;
for(i=0;
(i<
N-j)||(str[i]!
='
\0'
i++)
if(str[i]<
str[i+1])
{t=str[i];
str[i]=str[i+1];
str[i+1]=t;
题目4:
求出两个非零正整数的最大公约数,并作为函数值返回。
例如,若给num1和num2分别输入49和21,则输出的最大公约数为7。
intfun(inta,intb)
intr,t;
if(a<
b)
t=a;
b=a;
a=t;
r=a%b;
while(r!
=0)
a=b;
b=r;
r=a/b;
returna;
intnum1,num2,a;
%d%d"
num1,&
num2);
a=fun(num1,num2);
themaximumcommondivisoris%d\n\n"
a);
题目5:
实现交换两个整数的值。
例如给a和b分别输入3和6,输出为a=6b=3
请改正程序中的4个错误,使它能得出正确的结果。
voidfun(inta,b)
{
intt;
b=t;
inta,b;
entera,b:
a,&
b);
fun(&
a=%db=%d\n"
a,b);
题目6:
在一个一维整型数组中找出其中最大的数及其下标。
程序中共有4条错误语句,请改正错误。
floatfun(int*a,int*b,intn)
int*c,max=*a;
for(c=a+1;
c<
a+n;
c++)
if(*c>
max)
max=*c;
b=c-a;
returnmax;
inta[N],i,max,p=0;
pleaseenter10integers:
get("
a[i]);
m=fun(a,p,N);
max=%d,position=%d"
max,p);
题目7:
用冒泡法对10个整数从小到大排序。
voidsort(intx,intn)
inti,j,k,t;
n-1;
for(j=0;
n-i;
if(x[i]>
x[i+1])
{t=x[j];
x[j]=x[j+1];
x[j+1]=t;
inti,n,a[100];
pleaseinputthelengthofthearray:
n);
n;
a[i]);
sort(n,a);
outputthesortedarray:
=n-1;
%5d"
题目8:
fun函数的功能是:
实现3行3列矩阵的转置,即行列互换。
请改正程序中的错误,使它能得出正确的结果。
fun(inta[3][3],intm,intn)
m;
a[i][j]);
%4d"
}
a[i][j]=t;
a[i][j]=a[j][i];
t=a[j][i];
main()
intb[3][3];
fun(b,3,3);
题目9:
下面程序的功能是:
从键盘输入十个学生的成绩,统计最高分,最低分和平均分。
max代表最高分,min代表最低分,avg代表平均分。
{inti;
floata[8],min,max,avg;
input10score:
=9;
inputascoreofstudent:
%f"
max=min=avg=a[1];
for(i=1;
if(min<
a[i])
min=a[i];
if(max<
a[i])
max=a[i];
avg=avg+a[i];
avg=avg/10;
max:
%f\nmin:
%f\navg:
%f\n"
max,min,avg);
题目10:
下面程序的功能是利用二维数组输出如图所示的图形。
*******
*****
***
*
conio.h>
#defineN=7
chara[N][N];
inti,j,z;
clrscr();
a[i][j]=;
z=0;
(N+1)/2;
{
for(j=z;
N-z;
a[i][j]='
*'
;
z=z+1;
for(i=(N+1)/2;
{z=z-1;
题目11:
下列给定程序中,函数fun的功能是:
求1到10的阶乘的和。
主函数和fun函数中,各有两个错误,请改正,使其能得到正确的运行结果。
inti;
floatt,s=0;
floatfac(intn);
for(i=1;
10;
s=fac(i);
s);
floatfac(intn)
inty=1;
for(i=1;
y=y*i;
return;
题目12:
将一个字符串中第m个字符开始的全部字符复制成为另一个字符串。
程序中共有4条错误语句,请改正错误。
#include<
voidstrcopy(char*str1,char*str2,intm)
charp1,p2;
inti,j;
=str1+m;
p2=str2;
if(*p1);
*p2++=*p1++;
*p2='
inti,m;
char*p1,*p2,str1[80],str2[80];
p1=str1;
gets(p1);
m);
strcat(str1[0],str2[0],m);
puts(p1);
puts(p2);
题目13:
给定n个实数,输出平均值,并统计在平均值以下(含平均值)的实数个数。
例如,n=6时,输入23.5,45.67,12.1,6.4,58.9,98.4所得平均值为40.828335,在平均值以下的实数个数应为3。
intfun(floatx[],intn)
intj,c=0;
floatj=0;
xa+=x[j];
xa=xa/n;
ave=%f\n"
xa);
if(x[j]<
=xa)c++;
returnxa;
floatx[]={23.5,45.67,12.1,6.4,58.9,98.4};
%d\n"
fun(x,6));
答案:
1).floatxa=0;
或floatxa=0.0;
2).for(j=0;
j++)或for(j=0;
n>
j;
n-1>
=j;
3).for(j=0;
4).returnc;
或return(c);
题目14:
找出大于m的最小素数,并将其作为函数值返回。
intfun(intm)
inti,k;
for(i=m+1;
for(k=1;
k<
i;
k++)
if(i%k!
=0)break;
if(k<
i)
1).for(k=2;
k++)或for(k=2;
i>
k;
2).if(★i%k★==★0★)break;
3).if(i<
=k)或if(k>
=i)或if(★k★==★i★)
4).returni;
或return(i);
题目15:
在主函数中从键盘输入若干个数放入数组中,用0结束输入并放在最后一个元素中。
计算数组元素中值为正数的平均值(不包括0)。
例如,数组中元素的值依次为39,-47,21,2,-8,15,0,则程序的运行结果为19.250000。
doublefun(ints[])
intsum=0.0;
intc=0,i=0;
while(s[i]=0)
if(s[i]>
0)
{sum+=s[i];
c++;
i++;
sum\=c;
returnc;
intx[1000];
inti=0;
{scanf("
x[i]);
while(x[i++]!
=0);
fun(x));
题目16:
实现两个字符串的连接。
例如:
输入dfdfqe和12345时,则输出dfdfqe12345.
chars1[80],s2[80];
voidscat(chars1[],chars2[]);
gets(s1);
gets(s2);
scat(s1,s2);
puts(s1);
voidscat(chars1[],chars2[])
inti=0,j=0;
while(s1[i]=='
)i++;
while(s2[j]=='
)
s2[j]=s1[i];
j++;
s2[j]='
题目17:
根据整型形参m的值,计算如下公式的值。
t=1-——-——-...-——
2x23x3mxm
例如,若m=5,则应输出:
0.536389
doublefun(intm)
doubley=1.0;
for(i=2;
i--)
y-=1/(i*i);
returnm;
intn=5;
\ntheresultis%lf\n"
题目18:
编写函数fun求20以内所有5的倍数之积。
#defineN20
#include"
stdio.h"
{intsum;
sum=fun(5);
%d以内所有%d的倍数之积为:
%d\n"
N,5,sum);
getch();
intfun(intm)
ints=0,i;
if(i%m=0)
s=*i;
题目19:
编写函数fun其功能是:
输入两个实数,按代数值由小到大输出它们,并在fun()
函数中输出。
(输出的数据都保留2位小数)
{fun();
fun(floata,floatb)
floatt
%f%f"
if(a<
{t=a;
a=b;
b=t;
%5.2f,%5.2f\n"
题目20:
编写函数fun计算下列分段函数的值:
x*20x<
0且x≠-3
f(x)=sin(x)0≤x<
10且x≠2及x≠3
x*x+x-1其它
#include"
math.h"
floatfun(floatx)
floaty
if(x<
0||x!
=-3.0)
y=x*20;
elseif(x>
=0&
&
x<
10.0&
x!
=2.0&
=3.0)
y=sin(x);
elsey=x*x+x-1;
returnx;
{floatx,f;
Inputx="
x);
f=fun(x);
x=%f,f(x)=%f\n"
x,f);
题目21:
/**********FOUND
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 程序 改错 40