| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 439 人关注过本帖
标题:为什么运行的有乱码呢?
只看楼主 加入收藏
Camille
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2013-3-19
结帖率:80%
收藏
已结贴  问题点数:5 回复次数:7 
为什么运行的有乱码呢?
#include <stdio.h>
int main ()
{
    int  n,a[10],i,j;
    scanf("%d",&n);
    for(i=0;i<10;i++)
    {
        for(j=2;j<n;j++)
        {
            if(n%j==0)break;
            else a[i]=n;
        }
        n++;
    }
    for(i=0;i<10;i++)
        printf("%d\n",a[i]);
    return 0;
}
求不小于n(包括n )10个素数放入数组
搜索更多相关主题的帖子: include 
2013-05-14 08:27
Ryker
Rank: 6Rank: 6
等 级:侠之大者
威 望:1
帖 子:145
专家分:420
注 册:2013-2-19
收藏
得分:1 
n++ 干什么。。
2013-05-14 08:47
猫小喵
Rank: 2
来 自:计算机专业
等 级:论坛游民
帖 子:29
专家分:77
注 册:2013-5-12
收藏
得分:1 
回复 2楼 Ryker
目测像计数器不过没初始值为0

做一个爱编程得女生
2013-05-14 10:58
猫小喵
Rank: 2
来 自:计算机专业
等 级:论坛游民
帖 子:29
专家分:77
注 册:2013-5-12
收藏
得分:0 
回复 2楼 Ryker
看错了

做一个爱编程得女生
2013-05-14 11:14
猫小喵
Rank: 2
来 自:计算机专业
等 级:论坛游民
帖 子:29
专家分:77
注 册:2013-5-12
收藏
得分:0 
#include <stdio.h>
int main ()
{
    int  n,i,j;
    scanf("%d",&n);

    for(i=0;i<10;i++)
    {
        j=2;
        if(j<n)
        {
            if(n%j!=0)
                printf("%d\t",n);   
        }
        n++;
        j++;
    }
    return 0;
}改成这样可以不?

做一个爱编程得女生
2013-05-14 11:51
邓士林
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:淮河河畔
等 级:贵宾
威 望:61
帖 子:2392
专家分:13384
注 册:2013-3-3
收藏
得分:1 
问题就是这个:
for(i=0;i<10;i++)
     {
         for(j=2;j<n;j++)
         {
             if(n%j==0)break;
             else a[i]=n;
         }
         n++;
     }
加入你输入4,那么n%j==0成立,则break跳出,所以n++、i++,开始进行下一次,但是此时a[0]就没有被赋值,所以输出的时候会乱码,情况就是这样

Maybe
2013-05-14 11:52
我叫沃恩
Rank: 12Rank: 12Rank: 12
来 自:Asia
等 级:贵宾
威 望:10
帖 子:1234
专家分:3865
注 册:2013-3-29
收藏
得分:1 
你要想想其它的算法!
这个好像不能实现!

因为我是菜鸟,所以应该被骂! 细节+坚持=成功!
2013-05-14 12:44
爱吗
Rank: 1
等 级:新手上路
帖 子:4
专家分:6
注 册:2013-5-14
收藏
得分:1 
程序代码:
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
  int n,a[100],i=0,j;
  scanf("%d",&n);
  while(1)
  {    
      for(j=2;j<n;j++)
         if(n%j==0) break;// 循环j=2~N-1 去被N除,得到的余数如果是0的话,就跳出来,如果一直没有 ,就循环到j=n退出
      if(j==n) //如果是中途推出的,也就是说有2~N-1是n的因数,那么n 就不是素数
        {a[i]=n; if(i==9) break; i++; }
      n++;
  }
  for(i=0;i<10;i++)
    printf("%d\n",a[i]);
  system("PAUSE");
  return 0;
}
2013-05-14 13:17
快速回复:为什么运行的有乱码呢?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017884 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved