c语言函数改错题 c语言程序改错题技巧
C语言改错题
#include stdio.h
成都创新互联公司是专业的枣阳网站建设公司,枣阳接单;提供成都做网站、网站制作,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行枣阳网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!
void main()
{
int sum = 0,n=1;//sum要记得初始化
while (sum1000 ) //这里不能漏了括号
{
sum=sum+n;
n++;
}
sum -= n; // sum先减n
n--; //n再自减
printf("n=%d\tsum=%d\n",n,sum);
}
#includestdio.h
void main()
{
int a,k;
int fun(int a); //声明函数
printf("请输入一个正整数:");
scanf("%d",a);
k=fun(a);
printf("%d的位数是%d\n",a,k);
}
int fun(int a)//这里要声明参数类型
{
int i=0;
while(a)
{
a=a/10;
i++;
}
return i;//返回i值
}
求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
=
;
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语言函数问题,改错题
#includestdio.h
#includemath.h
#define CA(m,n) (m/n) //宏定义不需要类型 把两个int去掉
float fun(float a,float b,float c) //函数定义的地方,函数名后不加;
{ float value;
value=CA(a+b,a-b)+CA(c+b,c-b); //这个肯定和你预想的结果不一样,如果想算,应为value=CA((a+b),(a-b))+CA((c+b),(c-b));因为宏会直接替换,所以会算成(a+b/a-b)+(c+b/c-b)
return(CA);} //返回value吧?
main()
{
float x,y,z,sum;
printf("请输入x,y,z");
scanf("%f%f%f",x,y,z);
printf("x=%f,y=%f,z=%f\n",x,y,z);
if(x==y||y==z)
{ printf("Data Error! \n");
exit(0);}
sum=fun(x,y,z);
printf("函数的计算结果为%5.2f\n",sum);}
没有编译,但应该就这些错了
分享标题:c语言函数改错题 c语言程序改错题技巧
转载注明:http://pwwzsj.com/article/ddedpjj.html