当前位置:编程学习 > C/C++ >>

C语言简单算法

例 1

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

例2

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

例3

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

补充:编译环境是 win-tc

答案: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为你想要的最大值)

希望学习快乐!

第一题:

已经修改了. 输出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);
}

随便写写有错请修正

//第一个

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){

//输出是素数

}

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

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);

上一个:c语言是什么?
下一个:c语言 时间函数

CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,