C语言流程图问题(将100~200之间之间的素数输出)

我是根据下面代码所画的流程图,对吗?请大神看下。
为什么我这个流程图无法转换成N-S图,转换成代码就可以?
画的到底对不对?请大神解析。
代码:
# include <stdio.h>
# include <math.h>
int main ()
{
int n,i,r;
for (n = 100;n <=200;n++)
{
for (i = 2;i <= sqrt(n);i++)
{
r = n % i;
if (r == 0)
break;
}
if (i > sqrt(n))
printf("%d\n",n);
}

return 0;
}
流程图:

没有错!只是你画NS图画的比较少,所以你觉得画不出来!  这些东西多去百度一下,然后学习一下!再试试你设计的画法就可以了!建议楼主还是看看NS图怎么画的吧

你参考一下

温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-07-23

#include <stdio.h>

#include <math.h>

int main()

{int i,j;

printf("100~200之间的素数如下:\n");

for(i = 101; i <= 199; i++ )

{

for( j = 2; j <= sqrt(i); j++ )

{

if( i % j == 0 )

break;

}

if( sqrt(i) < j )

printf("%d\t",i);

}

printf("\n");

return 0;

}

拓展资料

C语言是一门通用计算机编程语言,应用广泛。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。

尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的C语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式处理器(单片机或称MCU)以及超级电脑等作业平台。



本回答被网友采纳
第2个回答  2018-07-24

这个程序我们需要用if语句和for语句,核心拾从100-200一个数一个数判断,当成立时则打印出来,具体代码如下。

#include "stdafx.h"

#include <cmath>

#include <iostream>

#define m 200

using namespace std;

bool p[m + 1];

int main()

{

int n = (int)sqrt((double)m);

p[0] = p[1] = 1;

for (int i = 2; i <= n; i++)

for (int j = i + i; j <= m; j += i)

p[j] = 1;

int i;

for (i = 100; i <= 200 && p[i]; i++);

cout << i;

for (i++; i <= 200; i++)

if (p[i] == 0) cout << " 素数;" << i;

cout << endl;

return 0;

}

效果图如下

本回答被网友采纳