编程序求100以内的素数,分别将它输出到显示器和x.txt文件中,要求每行5个数。(要求用c语言)

 我来答
珈蓝惜梦qF
2019-10-15 · TA获得超过654个赞
知道答主
回答量:33
采纳率:0%
帮助的人:1.3万
展开全部

源程序代码以及算法解释如下:

#define _CRT_SECURE_NO_WARNINGS

#include <iostream>

using namespace std;

int main(void)

{

 const int n = 25;//定义成绩数量

 int number[n];//定义存放成绩的数组

 int p=0;

 int flage=0;//标志变量

 char Data[256];//定义存文件用的变量

 FILE *pos;//定义一个文件指针

 int ii = 0;//用于判断换行的变量

 for (int i = 0; i <= 100; i++)//循环遍历

 {

  if (2 == i || 3 == i)//2,3都是素数

  {

   printf("%d\t", i);//打印

   ii++;

   flage = 1;//标志置位

  }

  for (int j = 2; j <= i / 2; j++)//判断

  {

   if (0 == i % j)

    break;

   if (i / 2 == j)

   {

    printf("%d\t", i);//打印

    flage = 1;//标志置位

    ii++;

   }

   if (ii == 5)//如果五个了进行换行

   {

    ii = 0;

    printf("\n");

   }

  }

  if (flage == 1)//标志置位则存到数组中

  {

   number[p] = i;

   p++;

   flage = 0;

  }

 }

 if (pos = fopen("data.txt", "w+"))//写文件

 {

  for (int i = 0; i < n; i++) //循环写入

  {

   sprintf(Data, "%d\n", number[i]);//写入文件成绩

   if ((i + 1) % 5 == 0)

    cout << endl;

   fputs(Data, pos);

  }

  fclose(pos);//关闭保存文件

 }

 return 0;

}

程序运行结果如下:


写入文件结果如下:


扩展资料:

【程序示例】从键盘输入一行字符,写入文件。

#include<stdio.h>

#include<conio.h>

#include<stdlib.h>

int main(){

FILE *fp;

char ch;

//判断文件是否成功打开

if( (fp=fopen("D:\\demo.txt","wt+")) == NULL ){

printf("Cannot open file, press any key to exit!\n");

getch();

exit(1);

}

printf("Input a string:\n");

//每次从键盘读取一个字符并写入文件

while ( (ch=getchar()) != '\n' ){

fputc(ch,fp);

}

fclose(fp);

return 0;

}

说明:运行程序,输入一行字符并按回车键结束,打开D盘下的demo.txt文件,就可以看到刚才输入的内容。程序每次从键盘读取一个字符并写入文件,直到按下回车键,while 条件不成立,结束读取。

sun_siliang
推荐于2016-06-24 · TA获得超过2.6万个赞
知道大有可为答主
回答量:9913
采纳率:100%
帮助的人:4571万
展开全部
#include <stdio.h>
#include <math.h>
int ss(int n) /*检查n是否为素数,如果是则返回1,否则返回0*/
{
int i;
for (i=2; i<=(int)sqrt((double)n); i++)
if (n%i==0) return 0;
return 1;
}
int main(void)
{
FILE *fp;
fp=fopen("x.txt","w");
int i,j=0;
for (i=2; i<=100; i++)
if(ss(i))
{
j++;
printf("%5d",i);fprintf(fp,"%5d",i);
if (j%5==0) {printf("\n");fprintf(fp,"\n");}
}
fclose(fp);
return 0;
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
likelgp
2011-12-14 · 超过20用户采纳过TA的回答
知道答主
回答量:49
采纳率:0%
帮助的人:53.1万
展开全部
#include <stdio.h>

int is_prime(int x){
for (int i=2; i<x && x%i!=0; i++);
if (i == x) return 1;
else return 0;
}

void main()
{
int a, count=0;
FILE *x = fopen("x.txt", "w");
for (a=2; a<100; a++){
if (is_prime(a)){
printf("%d ", a);
fprintf(x, "%d ", a);
count++;
if(count%5 == 0){
printf("\n");
fprintf(x, "\n");
}
}
}
fclose(x);

}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式