免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 3971 | 回复: 15
打印 上一主题 下一主题

[C++] [求教]请帮忙修改错误 [复制链接]

论坛徽章:
1
数据库技术版块每日发帖之星
日期:2015-11-21 06:20:00
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-08-19 17:10 |只看该作者 |倒序浏览
10可用积分
在turbo c++3.0的环境下,编译有25处错误,不能生成exe文件。请帮忙修改,谢谢!!

计算并输出1000以内最大的10个素数,以及它们的和。
要求:
(1)        在程序内部加必要的注释。
(2)        由于偶数不是素数,可以不考虑对偶数的处理
(3)        虽然在1000以内的素数超过10个,但是要对1000以内不够10个素数的情况进行处理。
(4)        输出形式为:素数1+素数2+素数3+素数4+素数5+素数6+素数7+素数8+素数9+素数10 = 总和值。

流程图如下:
file:///C:/Documents%20and%20Settings/Owner/桌面/QQ截图未命名.jpg



源代码如下:

#include<stdio.h>
#include<math.h>
int sushu(int n)                     /* 判断素数的函数 */
{
int t,i;
t=sqrt(n);
for(i=2;i<=t;i++)
   if(n%i==0)                     /* 如果不是素数,返回 0 */
     return 0;
return n;                          /* 如果是素数,返回该数 */
}

void main()
{
int i,j=0,n,m=0,a[1000],x;
/*clrscr();*/
printf("Please input a number form 1 to 1000:");
scanf("%d",&x);
if(x==2)                           /* x=2时的处理 */
printf("%d\n",x);
else if(x<=1)            /* x在1~1000范围外时的处理 */
printf("Error!\n");
else
{
if(x%2==0)           /* x为偶数时,把x变为奇数 */
  x--;
for(i=x;i>1;i-=2)         /* x为奇数时,做函数计算 */
  {
  n=sushu(i);           /* 做判断素数的函数调用 */

  if(n!=0)            /* 对素数的处理 */
   {
   a[j]=n;            /* 把素数由大至小存入数组a[ ]中 */
   j++;
   if(j<11)
    m+=n;            /* 统计前10个素数之和 */
   }
  }
if(j<10)                         /* 当素数个数小于10个时,结果输出 */
  {
  for(i=0;i<j;i++)
   {
   n=a;
   printf("%d",n);
   printf("+");
   }
   printf("2=");
   printf("%d\n",m+2);
  }
else for(i=0;i<10;i++)       /* 当素数个数大于等于10个时,结果输出 */
  {
   n=a;
   printf("%d",n);
   if(i<9)
    printf("+");
   else
    {
    printf("=");
    printf("%d\n",m);
   }
  }
}
}



请帮忙指正,谢谢!

最佳答案

查看完整内容

有注释的行才有这个错误,lz先把注释去了,就没事了可能是lz写注释的时候点了全角的切换,或者不小心按了 shift+space[ 本帖最后由 5毛党党员 于 2008-8-19 17:44 编辑 ]

论坛徽章:
0
2 [报告]
发表于 2008-08-19 17:10 |只看该作者
有注释的行才有这个错误,lz先把注释去了,就没事了

可能是lz写注释的时候点了全角的切换,或者不小心按了 shift+space

[ 本帖最后由 5毛党党员 于 2008-8-19 17:44 编辑 ]

论坛徽章:
1
数据库技术版块每日发帖之星
日期:2015-11-21 06:20:00
3 [报告]
发表于 2008-08-19 17:15 |只看该作者

流程图,上面的没有显示。

RT:流程图,上面的没有显示。

QQ截图未命名.jpg (41.56 KB, 下载次数: 49)

QQ截图未命名.jpg

论坛徽章:
0
4 [报告]
发表于 2008-08-19 17:16 |只看该作者
if(x%2==0)           /* x为偶数时,把x变为奇数 */
  x--;
这步没看懂,而且你的程序写得很乱,根本没对齐,最后多了一个大}

论坛徽章:
0
5 [报告]
发表于 2008-08-19 17:34 |只看该作者
原帖由 qliu00 于 2008-8-19 17:16 发表
if(x%2==0)           /* x为偶数时,把x变为奇数 */
  x--;
这步没看懂,而且你的程序写得很乱,根本没对齐,最后多了一个大}



。。。。偶数-1不就是奇数了吗

论坛徽章:
0
6 [报告]
发表于 2008-08-19 17:40 |只看该作者
lz 的程序 报 stray '\161' in program  的错误

这因为那行出现了全角字符.把那行删了,从新打一遍就好了

论坛徽章:
0
7 [报告]
发表于 2008-08-19 18:26 |只看该作者
楼主可能是先切换到全角字符,再按空格,然后写代码..

把注释去掉就好了..

论坛徽章:
1
数据库技术版块每日发帖之星
日期:2015-11-21 06:20:00
8 [报告]
发表于 2008-08-19 18:59 |只看该作者
原帖由 5毛党党员 于 8/19/2008 17:40 发表
lz 的程序 报 stray '\161' in program  的错误

这因为那行出现了全角字符.把那行删了,从新打一遍就好了


对的,是注释的问题,去掉注释就没有报错了。真是郁闷。
可以是生成exe文件又出现报错了。能帮忙指点一下吗?谢谢!!

论坛徽章:
1
数据库技术版块每日发帖之星
日期:2015-11-21 06:20:00
9 [报告]
发表于 2008-08-19 19:00 |只看该作者

回复 #3 qliu00 的帖子

没有多}吧。编译通过了。

论坛徽章:
0
10 [报告]
发表于 2008-08-20 09:05 |只看该作者
最好能说明一下是什么错误,猜不到啊
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP