Ⅰ c语言改错题
改错,并经实际运行,结果如下图:
#include<conio.h>
#include<stdio.h>
//intfound(inta[10][30],intn)//错误,弹出错误[Error]
intfound(inta[10][30],intn)//改错
{
inti,j,s,k,x;
//for(i=0,k=1;k<=n;k++)//修改
i=0;//此处修改,但不算错误
for(k=1;k<=n;k++)
{
//s=1;//错误
s=0;//改错,累加器,初始值为0
x=k;
for(;x<n;x++)
{
s+=x;
if(s>=n)break;
}
if(s==n)
{
//for(j=0;k+j<=x;j++)//错误,丢失最后1个元素
for(j=0;k+j<=x;j++)//改错
a[i][j]=k+j;
i++;
}
}
returni;
}
intmain()
{
inta[10][30]={0};
inti,j,n,m;
printf("n=");
//scanf("%d",&n);错误
scanf("%d",&n);//改错:n-->&n
m=found(a,n);
if(m>0)
{
printf("%dserials
",m);
for(i=0;i<m;i++)
{
for(j=0;a[i][j]!=0;j++)
printf("%4d",a[i][j]);
printf("
");
}
}
else
printf("notfound
");
getch();
return0;
}
Ⅱ 求C语言改错题
1,给定程序MODI1.C中函数fun的功能是:根据整型形参m,计算如下公式的值。
1
1
1
1
y
=
-------
+
---------
+
---------
+
……
+
-------
100*100
200*200
300*300
m*m
例如,若m
=
2000,则应输出:
0.000160。
请改正程序中的语法错误,使它能计算出正确的结果。
注意:不要改动
main
函数,不得增行或删行,也不得更改程序的结构!
#include
<stdio.h>
/************found************/
fun
(
int
m
)/*改为double
fun
(int
m)*/
{
double
y
=
0,
d
;
int
i
;
/************found************/
for(
i
=
100,
i
<=
m,
i
+=
100
)/*改为for(
i
=
100;i
<=
m,;i
+=
100
)*/
{
d
=
(double)i
*
(double)i
;
y
+=
1.0
/
d
;
}
return(
y
)
;
}
main(
)
{
int
n
=
2000
;
printf(
"\nThe
result
is
%lf\n",
fun
(
n
)
)
;
}
2,给定程序MODI1.C中
fun
函数的功能是:分别统计字符串中大写字母和小写字母的个数。
例如,
给字符串
s
输入:AAaaBBb123CCccccd,则应输出结果:upper
=
6,
lower
=
8。
请改正程序中的错误,使它能计算出正确的结果。
注意:不要改动
main
函数,不得增行或删行,也不得更改程序的结构!
#include
<stdio.h>
/**********found**********/
void
fun
(
char
*s,
int
a,
int
b
)/*改为void
fun
(
char
*s,
int
*a,
int
*b
*/)
{
while
(
*s
)
{
if
(
*s
>=
'A'
&&
*s
<=
'Z'
)
/**********found**********/
*a=a+1
;/*改为*a=*a+1
;*/
if
(
*s
>=
'a'
&&
*s
<=
'z'
)
/**********found**********/
*b=b+1;/*改为
*b=*b+1;*/
s++;
}
}
main(
)
{
char
s[100];
int
upper
=
0,
lower
=
0
;
printf(
"\nPlease
a
string
:
"
);
gets
(
s
);
fun
(
s,
&
upper,
&lower
);
printf(
"\n
upper
=
%d
lower
=
%d\n",
upper,
lower
);
}
3,给定程序MODI1.C中函数fun的功能是:根据整型形参m的值,计算如下公式的值。
1
1
1
t
=
1
-
-----
-
-----
-
……
-
-----
2*2
3*3
m*m
例如,若
m
中的值为:
5,则应输出:
0.536389。
请改正程序中的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
#include
<stdio.h>
double
fun
(
int
m
)
{
double
y
=
1.0
;
int
i
;
/**************found**************/
for(i
=
2
;
i
<
m
;
i++)/*for(i
=
2
;
i
<=
m
;
i++)
*/
/**************found**************/
y
-=
1
/(i
*
i)
;/*
y
-=
1.0
/(i
*
i)
;
*/
return(
y
)
;
}
main(
)
{
int
n
=
5
;
printf(
"\nThe
result
is
%lf\n",
fun
(
n
)
)
;
}
4,给定程序MODI1.C中函数fun的功能是:从s所指字符串中删除所有小写字母c。
请改正程序中的错误,使它能计算出正确的结果。
注意:不要改动
main
函数,不得增行或删行,也不得更改程序的结构!
#include
<stdio.h>
void
fun(
char
*s
)
{
int
i,j;
for(i=j=0;
s[i]!='\0';
i++)
if(s[i]!='c')
/************found************/
s[j]=s[i];/*
s[j++]=s[i];*/
/************found************/
s[i]='\0';/*
s[j]='\0';*/
}
main()
{
char
s[80];
printf("Enter
a
string:
");
gets(s);
printf("The
original
string:
");
puts(s);
fun(s);
printf("The
string
after
deleted
:
");
puts(s);printf("\n\n");
}
可以了吧
Ⅲ c语言题目求改错
#define Count 100
#include<stdio.h>
int getmaxlocation(int arr[],int n)
{
int loc=0,i;
for(i=1;i<n;i++)
{
if(arr[i]>arr[loc])
loc=i;
}
return loc;
}
void sort(int arr[],int n)
{
int i,j,t;
for(i=0;i<n-1;i++)
{
for(j=0;j<n-1-i;j++)
{
if(arr[j]<arr[j+1])
{
t=arr[j+1];
arr[j+1]=arr[j];
arr[j]=t;
}
}
}
}
int main()
{
int arr[Count],n,i,loc;
printf("请输入数组元素个数(<=%d)",Count);
scanf("%d",&n);
printf("请输入%d个整数:",n);
for(i=0;i<n;i++)
scanf("%d",&arr[i]);
loc=getmaxlocation(arr,n);
printf("数组最大值位于下标%d处\n",loc);
sort(arr,n);
printf("降序排序后的数组:");
for(i=0;i<n-1;i++)
printf("%d ",arr[i]);
printf("%d\n",arr[n-1]);
return 0;
}
Ⅳ c语言习题改错
#include<stdio.h>
#include<math.h>
intmain()
{
doublex1,x0,i;
scanf("%lf",&x1);
x0=x1;
x1=cos(x0);
for(i=x0-x1;fabs(i)>0.0000001;)
{
x0=x1;
x1=cos(x0);
i=x0-x1;
}
printf("x=%lf",x0);
}
Ⅳ C语言求改错
#include"stdio.h"
intmain(intargc,char*argv[]){
inti=0,k=0;
chara[80];
while((a[i]=getchar())!=' '&&i<80)
i++;
a[i]='