标题:研究一整天``还是没弄懂``请大大们指教
只看楼主
lylovedy123
Rank: 1
等 级:新手上路
帖 子:22
专家分:6
注 册:2010-5-15
结帖率:100%
已结贴  问题点数:2 回复次数:6 
研究一整天``还是没弄懂``请大大们指教
#include <stdio.h>
main()
{

 int a,i,n,b;


 int num[300];

    printf("put a number:");

    scanf("%d",&n);




   for(i=1;i<=n;i++)

    { for(a=2;a<=i;a++)

       if(i%a==0)

         break;

          if(i==a)

         for(b=1;b<n;b++)

     {

      printf("%d\\",num[b]=i);


          break;


          }


  }



    {

       FILE *fp;

        fp=fopen("c:\\output.txt","w+");

          fprintf(fp,"%d",num[b]);

          close(fp);
 }





      getch();

}



程序是对的``但是只能打一个数字进入 TXT文档```请问怎么才能把所有数字都打出来`?

 还请指教更简单的程序``有错误请指出```新手敬上`
搜索更多相关主题的帖子: 指教 研究 
2010-05-18 18:06
我菜119
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
帖 子:938
专家分:1756
注 册:2009-10-17
得分:0 
不可以用一个for的循环!

愿用余生致力编程
2010-05-18 18:18
NoSoul
Rank: 9Rank: 9Rank: 9
来 自:沈阳化工大学
等 级:蜘蛛侠
帖 子:283
专家分:1010
注 册:2009-6-6
得分:2 
#include <stdio.h>
#include <conio.h>
int main()
{
    int a,i,n,b;
    int num[300];
    printf("put a number:");
    scanf("%d",&n);
    b=1;
    for(i=1; i<=n; i++)
    {
        for(a=2; a<=i; a++)
            if(i%a==0)
                break;
        if(i==a)
            printf("%d\\",num[b++]=i);
    }
    FILE *fp;
    fp=fopen("c:\\output.txt","w");
    for(i=1; i<b; i++)
        fprintf(fp,"%d ",num[i]);
    getch();
    return 0;
}

我想伸手拉近點,竟觸不到那邊,就欠一點點,但這一點點...卻好遠
2010-05-18 18:25
lylovedy123
Rank: 1
等 级:新手上路
帖 子:22
专家分:6
注 册:2010-5-15
得分:0 
#include <stdio.h>
#include <conio.h>
int main()
{
    int a,i,n,b;
    int num[300];
    printf("put a number:");
    scanf("%d",&n);
    b=1;
    for(i=1; i<=n; i++)
    {
        for(a=2; a<=i; a++)
            if(i%a==0)
                break;
        if(i==a)
            printf("%d\\",num[b++]=i);
    }
   { FILE *fp;                     \\这里要加{}才能行哦``
    fp=fopen("c:\\output.txt","w");
    for(i=1; i<b; i++)              \\ 这里为什么b=1呢? 这样不是永远都为假了么?那怎么执行fprintf呢`?
        fprintf(fp,"%d ",num[i]);       还有为什么要小于b 呢?请各位指导一下小 弟这个 雏鸟!
    }
    getch();
    return 0;
}
2010-05-19 10:48
NoSoul
Rank: 9Rank: 9Rank: 9
来 自:沈阳化工大学
等 级:蜘蛛侠
帖 子:283
专家分:1010
注 册:2009-6-6
得分:0 
那儿不用加{}
b是计数用的  如果是一直是1  代表没有值存入num[]中,也就没有符合的数能输出了,
如果b是2  代表执行了b++一次 所以num[]中有一个符合你的条件  所以循环一次就能输出了

我想伸手拉近點,竟觸不到那邊,就欠一點點,但這一點點...卻好遠
2010-05-19 10:54
lylovedy123
Rank: 1
等 级:新手上路
帖 子:22
专家分:6
注 册:2010-5-15
得分:0 
OH```懂起了``谢谢大大的指教
2010-05-19 11:04
lylovedy123
Rank: 1
等 级:新手上路
帖 子:22
专家分:6
注 册:2010-5-15
得分:0 

   但是如果 我要分开 素数输出和合数输出又要加什么语句呢`~?

 我研究了一天``只研究出来怎么在TC上 数字后面写 素数或合数``
  请指教哦`
2010-05-19 17:11



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-307171-1-1.html




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

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