永发信息网

C语言简单算法

答案:4  悬赏:0  手机版
解决时间 2021-05-07 02:14
  • 提问者网友:爱唱彩虹
  • 2021-05-06 06:34

例 1

判定200-2005年中的每一年是否闰年,将结果输出。

例2

求1-1/2+1/3-1/4+·······+1/99-1/100

例3

对一个大于或等于3的正整数,判断它是不是一个素数。

最佳答案
  • 五星知识达人网友:狂恋
  • 2021-05-06 07:08

第一题:


已经修改了. 输出2000-2005每一年是否闰年.


#include <stdio.h>


void main()
{
int i;
for(i=2000;i<=2005;i++)
{
if(i % 4 == 0 && (i % 100 != 0 || i % 400 == 0)) //判断闰年.能被4整除,不能被100整除或者能被400整除
printf("%d is a leep year\n",i);
else
printf("%d is not a leep year\n",i);
}
}


第二题:


#include <stdio.h>


void main()
{
int i,flag = 1; //flag作为符号位.一直在正负之间徘徊...
float sum = 0;


for(i = 1; i <= 100; i++)
{
sum = sum + 1.0 / i * flag;
flag = flag * -1; //将符号位取反.
}
printf("result = %f\n", sum);
}


第三题:


这题应该是输入一个大于等于3的数,判断这个数是不是素数吧?


如果不是的话请联系我. 可以帮你修改.


#include <stdio.h>
#include <math.h>


void main()
{
int n,i,k;
while(1)
{
scanf("%d",&n);
if(n >= 3) break; //如果输入的数大于等于3.就执行判断这个数是否素数.
printf("Please re-enter\n");
//否则要求用户重新输入.
}


k=sqrt(n);


for(i=2;i<=k;i++)
{
if(n%i==0) break;
}

if(i>k)
printf("%d is a prime number\n",n);
else
printf("%d is not a prime number\n",n);
}

全部回答
  • 1楼网友:渡鹤影
  • 2021-05-06 09:57

一下都给出关键部分代码:

1

int year;

for(year=200;year<=2005;year++)

{

if(year%4==0)

{

printf("%d is leap year\n",year);

}

}

2.

double i=-1,sum=0,j=1;

for(j=1;j<=100;j++)

{

i=-i;

sum+=i/j;

}

printf("SUM=%f\n",sum);

3.

int n,i;

printf("Please input a number(>=3)");

scanf("%d",&n);

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

{

if(n%i==0)

break;

}

if(i==n)

printf("%d is a prime number\n",n);

else

printf("%d is not a prime number\n",n);

  • 2楼网友:孤独的牧羊人
  • 2021-05-06 09:38

随便写写有错请修正

//第一个

for(int i=200;i<2009;i++){

if(i%4==0&&i%100!=0 || i%400==0){ //闰年判断条件与4取余得0且与100取余不为0或者与400取余为0

//输出是素数

}

}

//第二个

float result=0;//结果

int j=1;

for(int i=1;i<=100;i++){

result=result+j/i;

j=j*-1;

}

//输出result

//第三题

//输入一个数num(int)

int i=2,j=num/2;

for(;i<j;i++){

if(num%i==0){

break;

}

}

if(i>=j){

//输出是素数

}

  • 3楼网友:妄饮晩冬酒
  • 2021-05-06 08:00

1、闰年

#include<stdio>

main()

{

int year;

printf("是闰年的有:\n"):

for(year=200;year<=2005;year++)

{if(year/400==0 || year/4==0 && year/100!=0) printf("%6d年",year); else printf("%6d年",year);

}

}

2、加法

#include<stdio.h> void main() {int i,t; float sum,n; sum=1; i=2; t=-1; while(i<=100) {n=t/i; sum=sum+n; t=-t; i++; } printf("sum=%f",sum); }

3、素数

#include<stdio.h> #include<math.h>

#define N 101

void main() { int i,j,line,a[N]; for(i=2;i<N;i++) a[i]=i;

for(i=2;i<sqrt(N);i++) for(j=i+1;j<N;j++) { if(a[i]!=0&&a[j]!=0) if(a[j]%a[i]==0)

a[j]=0; } printf("\n"); for(i=2,line=0;i<N;i++) { if(a[i]!=0) { printf("%5d",a[i]); line++; } if(line==10)

printf("\n");

line=0; }

} }

如果想改范围可以改之前的宏定义#define N x (X为你想要的最大值)

希望学习快乐!

我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯