C语句查错。。

/利用自定义函数经统计M至N以内的素数*/#include<stdio.h>#include<math.h>main(){intm,n,i,x,count=0;intpr... /利用自定义函数经统计M至N以内的素数*/

#include <stdio.h>
#include <math.h>
main()
{
int m, n, i, x, count=0;
int prime (int i); /*函数原型声明*/

printf("Please input m:\n");
scanf("%d",&m);
printf("Please input n:\n");
scanf("%d",&n);

for (i=m; i<=n; i++)
{
if (prime(x) == 1) /*主调函数*/
{
printf("%6d",x);
count ++;
if (count % 10 == 0) printf("\n");
}
}

printf("\n");

return 0;
}

/*自定义函数,判断X是否为素数*/
int prime (int x)
{
int y;
double z;

if (x == 1) return 0;

z = sqrt(x);

for (y=2; y<=Z; y++)
{
if (x % y == 0)
{
return 0;
}
}
return 1;
}

编译器指出有三个错误。
请问,错在哪里了?
谢谢!
编译器说三个错都在第三十九句,也就是 自定义函数的“ for (y=2; y<=Z; y++) ”。。。。
展开
 我来答
天堂妹儿
2011-03-14 · TA获得超过688个赞
知道小有建树答主
回答量:386
采纳率:0%
帮助的人:280万
展开全部
改成这样试试:
#include <stdio.h>
#include <math.h>
//int prime (int x);
main()
{
int m, n, i, x, count=0;
int prime (int i); /*函数原型声明*/

printf("Please input m:\n");
scanf("%d",&m);
printf("Please input n:\n");
scanf("%d",&n);

for (i=m; i<=n; i++)
{
if (prime(i) == 1) /*主调函数*/
{
printf("%6d",i);
count ++;
if (count % 10 == 0) printf("\n");
}
}

printf("\n");

return 0;
}

/*自定义函数,判断X是否为素数*/
int prime (int x)
{
int y;
double z;

if (x == 1) return 0;

z = sqrt(x);

for (y=2; y<=z; y++)
{
if (x % y == 0)
{
return 0;
}
}
return 1;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
什么都想最多
2011-03-14 · 超过14用户采纳过TA的回答
知道答主
回答量:22
采纳率:0%
帮助的人:0
展开全部
你的 x 没有确定的值 到底传递到被调用的函数是几 ,你的x其实完全没用,你应该在调用函数时:
for (i=m; i<=n; i++)
if (prime(i) == 1) ( 将传递的参数改为i) /*主调函数*/
{ printf("%6d",i); (将此处也改成i)
count ++;
if (count % 10 == 0) printf("\n");
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2011-03-14
展开全部
不用调试也知道,你Z大写了,C是大小写敏感的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式