第二章 算法-程序的灵魂

本文精选了多个算法案例,包括阶乘计算、闰年判定、数列求和等,通过C语言实现,展示了算法设计的基本思想与技巧。同时,提供了课后习题解答,涵盖最大值寻找、数列排序、质数筛选、公约数计算等实用算法,适合初学者学习与实践。
摘要由CSDN通过智能技术生成

例2.1求五的阶乘

#include <stdio.h>
int main()
{
int i = 1, j;
for ( j = 1; j < 6; j++ )
i = i * j;
printf( “5!=%d\n”, i );
}
运行结果为:
在这里插入图片描述

例2.3 判定2000-2500年中的每一年是否为闰年,并将结果输出。

#include <stdio.h>
int main()
{
int i;
for ( i = 2000; i <= 2500; i++ )
if ( i % 4 = 0 && i % 100 != 0 || i % 400 = 0 )
printf( “%d\t”, i );
else
continue;
}
运行结果如下:
在这里插入图片描述

例2.4 求1-1/2+1/3-1/4+’’’+1/99-1/100

#include <stdio.h>
int main()
{
int sign = 1;
double deno = 2.0, sum = 1.0, term;
while ( deno <= 100 )
{
sign = -sign;
term = sign / deno;
sum += term;
deno += 1;
}
printf( “输出结果为:%f\n”, sum );
}

运行结果如下:
在这里插入图片描述

课后习题1 依次输入十个数,输出最大值

#include <stdio.h>
int main()
{
int n = 1, max, a;
printf( “输入十个数:” );
while ( n <= 10 )
{
scanf( “%d”, &a );
if ( a > max )
max = a;
n++;
}
printf( “max=%d\n”, max );
}

在这里插入图片描述

课后习题2 三个数从小到大输出

#include <stdio.h>
int main()
{
int a, b, c, t;
printf( “输入三个数:” );
scanf( “%d%d%d”, &a, &b, &c );
if ( a > b )
{
t = a;
a = b;
b = t;
}
if ( a > c )
{
t = a;
a = c;
c = t;
}
if ( b > c )
{
t = b;
b = c;
c = t;
}
printf( “%d %d %d\n”, a, b, c );
}

运行结果如下:
在这里插入图片描述

课后习题3 求1+2+3····+100

#include <stdio.h>
int main()
{
int i, sum = 0;
for ( i = 1; i <= 100; i++ )
sum = sum + i;
printf( “结果为:%d\n”, sum );
}

运行结果如下:
在这里插入图片描述

课后习题4 判断一个数能否同时被三和五整除

#include <stdio.h>
int main()
{
int i;
printf( “输入一个数:” );
scanf( “%d”, &i );
if ( i % 3 == 0 && i % 5 == 0 )
printf( “\n能同时被整除\n” );
else
printf( “\n不能同时被整除\n” );
}
运行结果如下:
在这里插入图片描述
##课后习题5 将100到200之间的素数输出
#include <stdio.h>
int main()
{
int i,j;
int count=0;
for (i=101; i<=200; i++)
{
for (j=2; j<i; j++)
{ if (i%j==0) break;
}

	if (j>=i) 
	{ 
		count++; printf("%d ",i); 

	if (count % 5 == 0)
		printf("\n");
	}
}

}
运行结果如下:
在这里插入图片描述

课后习题6 求两个数m和n的最大公约数

#include <stdio.h>
int main()
{
int m, n, t;
printf( “输入两个数:” );
scanf( “%d%d”, &m, &n );
if ( m < n )
{
t = n;
n = m;
m = t;
}
t = m % n;
while ( t != 0 )
{
m = n;
n = t;
t = m % n;
}
printf( “最大公约数为%d\n”, n );
}

运行结果如下:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值