C语言 编程 为什么"每行输出5个数,即当下标值能整除5时换行"

2020-07-02

C语言 编程 为什么"每行输出5个数,即当下标值能整除5时换行"


0%5=0
5%5=0
所以,用下标来判断可以判断是否到达了第五个
因为,程序是先判断是否换行才输出,所以,这样是对的
如果是先输出数据,再判断是否换行,就要用(i+1)%5==0来判断了。
C语言程序编程:输出100到200间的全部素数,每行输出5个素数。具体程序
#include "stdafx.h"//c++头文如果是c语言 换成#include "stdio.h"就行
#include "math.h"
int judge(int n)//定义一个n 输入数
{int w;//判断w是否为素数
w=0;
for( int i=2;i<=sqrt(n);i++)//i数
{int r;//r为n除以i的余数
r=n%i;
if(r==0)
{w=1;
break;
}
}
return w;
}
int main( int argc,char * argv[])
{int j;
int n;
for(n=100;n<=200;n++)
{
if (judge(n)==0)
{
printf("%4d",n);
j++;
if(j%5==0)
printf("\n");
}
}
return 0;
}#include
void main()
{
int i,j,temp;
for(i=100;i<200;i++)
for(j=2;j{
if (i%t==0) //判断
{
printf("%d",d);
++temp;
}
if(temp%5==0) printf("\n");
}
}本回答被网友采纳#include

int isPrime(int n);
int main(){

int minvalue=100;
int maxvalue=200;
int count=0;
int i;
for (i=minvalue;i<=maxvalue;i++){
if(isPrime(i)){
printf("%d",i);
count++;
if(count%5==0){
printf("\n");
}
}
}
return 0;

}

int isPrime(int n){
int i;
int numOfDivisor=0;
for(i=1;i<=n;i++){
if(n%i==0){
numOfDivisor++;
}

}
if(numOfDivisor==2){
return 1;
}
else
return 0;

}#include "math.h"
#include "stdio.h"
main()
{
int m,i,k,h=0,leap=1;
printf("\n");
for(m=1;m<=100;m++)
{
k=sqrt(m+1);
for(i=2;i<=k;i++)
if(m%i==0)
{
leap=0;break;}
if(leap) {printf("%-4d",m);h++;
if(h%5==0)
printf("\n");
}
leap=1;
}
printf("\nThe total is %d",h);
}#include
void main(){
int i,j,temp;
for(i=100;i<200;i++)
for(j=2;jif (i%t==0)
{
printf("%d",d);
++temp;
}
if(temp%5==0) printf("\n");
}
}
在javascript中,在页面上编程输出0到100之间所有的素数,并要求每行显示5个素数.
function Sushu(){
var arr=[];
for(var i=1;i<100;i+=2){
var b = false;
for (var k = 2; k < i; k++) {
if (i%k==0) {
b = true;
}
}
if (!b) {
arr.push(i);
}
}
arr[0]=2;
return arr;
}
var arr=Sushu();
for(var i=0;iif(i%5==0){document.write("
");}
document.write(arr[i]+",")}追问

不不用数组实现谢谢追答

用函数还不让用数组,还得有返回值的话,那只有返回字符串了写得不好,就是在原来的基础上,改了一下functionSushu1(){
vars='';
varl=0;
for(vari=1;i<100;i+=2){
varb=false;
for(vark=2;kif(i%k==0){
b=true;
}
}
if(!b){
if(i==1){s+='2,';l++;
}elseif(l%5==0){
s+=i+',
';
}else{
s+=i+',';
}
alert(l)
l++;
}
}
returns;
}
vars=Sushu();

document.write(s)追问

不要返回值光用函数然后每行显示5个呢追答

functionSushu(){
varl=0;
for(vari=1;i<100;i+=2){
varb=false;
for(vark=2;kif(i%k==0){
b=true;
}
}
if(!b){
if(i==1){document.write('2,');l++;
}elseif(l%5==0){
document.write(i+',
');
}else{
document.write(i+',');
}
l++;
}
}
}
Sushu();
编程输出1000以内的所有素数,要求每行输出10个数。并且求其偶数位置的和


'输出1000的所有素数
Private Sub Command1_Click()
Dim a&(), i&
ReDim a(0)
a(0) = 2
For i = 3 To 1000
If isPrime(i) Then
ReDim Preserve a(UBound(a) + 1)
a(UBound(a)) = i
End If
Next
MsgBox Sum(a)
End Sub
'判断是素数
Function isPrime(num&) As Boolean
Dim i&
For i = 2 To Int(Sqr(num))
If num Mod i = 0 Then Exit Function
Next
isPrime = True
End Function
'每行输出10并且求其偶数位置的
Function Sum&(a&())
Dim i&, j&
For i = 0 To UBound(a)
Print a(i + j);
If (i And 1) = 1 Then Sum = Sum + a(i)
If (i + 1) Mod 10 = 0 Then Print
Next
End Functionfunction f(a) '判断是否为,是则返回,不是则返回0
f=0
for i=2 to a
if not(a mod i) then exit function
f=a
end function

function p(a()) '每行10个出a()
for i=lbound(a) to ubound(a) step 10
for j=1 to 10
print a(i+j);
next j
print
next i
end function

function s(a()) '求数组a()的和
for i=lbound(a) to ubound(a)
s=s+i
next i
end function