首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

新手小题目,请问异常

2012-06-25 
新手小题目,请教错误原题是写一个函数prime(int x),如果是素数,返回1,否则返回0;并用主函数进行验证# incl

新手小题目,请教错误
原题是写一个函数prime(int x),如果是素数,返回1,否则返回0;并用主函数进行验证



# include <stdio.h>

int prime (int x) /*定义prime()*/
{
int n;
for (n=2;x%n!=0;n++) /*直到x除以n的余数为0的时候结束循环*/
; /*缺省的循环体语句*/
if(n<x) return (1); /*如果x是素数,返回数值1*/
else return (0); /*如果x不是素数,返回数值0*/

}

main()
{
int x,n;
scanf("%d",x);
for(n=2;x%n!=0;n++) /*直到x除以n的余数为0的时候结束循环*/
; /*缺省*/
if prime (x)==(n<x) /*调用函数prime(),如果prime(x)的值和n<x的值相等*/
printf("验证成功\n\n");  
else 
printf("验证不成功");  

}

[解决办法]

C/C++ code
int prime (int x) /*定义prime()*/{int n;for (n=2;n<=sqrt(x);n++) /*直到x除以n的余数为0的时候结束循环*/if(x%n==0)break; if(n>sqrt(x)) return (0); /*如果x不是素数,返回数值0*/else return (1); /*如果x是素数,返回数值1*/}
[解决办法]
主函数也有错,scanf()少了取地址符&

热点排行