C语言问题 --为什么运行不了

[复制链接]
查看11 | 回复3 | 2012-10-23 13:37:57 | 显示全部楼层 |阅读模式
你这次程序明显有问题嘛,你对于一个数的判断是否为素数,对于你sum+=i根本没有关系,就算你这个程序能运行,答案也是错误的,你应该加上一个条件,如果b==0,则sum+=i。其次,你的子程序里面的i的初始值应该为2,而不是为0.原因的话自己想,我想这个就不需要我告诉你了吧。...
回复

使用道具 举报

千问 | 2012-10-23 13:37:57 | 显示全部楼层
异常是因为对0取模运算了,结果不对是因为错误的do循环结果2被误判为合数应改为while循环先判是否合条件,或直接用for循环 改正的Panduan()函数:int Panduan(int n)
//判断n是不是素数 0为非素数{ for(int i=2,a=sqrt(n); i#include int Panduan(int n); void main(){int n,b,i,sum=0;scanf("%d",&n);for(i=2;i<=n;i++){b=Panduan(i);if(b)sum+=i;}printf("%d",su...
回复

使用道具 举报

千问 | 2012-10-23 13:37:57 | 显示全部楼层
你的int Panduan(int n)函数有问题,你把i变量赋值为0,然后再语句b=n%i中其中i得值是0能对吗???...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行