test1_1120

1. 打印100~200 之间的素数

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

int main()
{
	int num=0, m=1, flag=0, count=0;
	
	//外循环101-200依次进行素数判断
	for(num=101; num<=200; num++)
	{
		//内循环开始 将flag置零
		flag = 0;

		if(num%2 == 1)
		{       
                //偶数一定不是素数
			for(m=2; m<=sqrt(num); m++)
			{
			//若num % m(2,sqrt(num))结果为0,flag置1:表示有别的因子
				if(num%m == 0)
				{
					flag = 1;
					break;
				}
			}       //内循环
			//若flag为0,表示为素数,输出
			if(flag == 0)
			{
				printf("%4d",num);
				count++;
			}
		}
	}       //外循环
	printf("\n总共有%d个素数\n",count);

	return 0;
}

 用函数实现后的代码:


int main()
{
	int num = 0;
	int count = 0;
	for(num=100; num<=200; ++num){
		if(IsPrime(num)){
			printf("%d是素数\n", num);
			count++;
		}
	}
	printf("100-200间共有%d个素数\n", count);

	system("pause");
	return 0;
}

int IsPrime(int num){
	int i = 0;
	for(i=2; i<num; i++){
		if(num%i == 0){
			return 0;
		}
	return 1;	
	}
}


2. 输出乘法口诀表

#include <stdio.h>

int main()
{
	int i=0, j=0, n=0;

	printf("请输入乘法口诀表的行列数n\n");
	scanf("%d",&n);

	for(i=1; i<=n; i++)
	{
		for(j=1; j<=i; j++)
		{
			printf("%d*%d=%-3d",j,i,i*j);
		}
		printf("\n");
	}
	return 0;
}


3. 判断1000年---2000年之间的闰年

#include <stdio.h>

int main()
{
	int num = 0, count = 0;
        
        //循环从1000-2000
	for(num=1000; num<=2000; num++)
	{
		if((num%4 == 0 && num%100 != 0)||(num%400 == 0))
		{
			printf("%5d",num);
			count++;
		}
	}
	printf("\n1000间~2000年间总共有%d个闰年\n",count);
	return 0;
}

用函数实现后的代码:

int main()
{
	int years = 0;
	int count = 0;
	for(years=1000; years<=2000; ++years){
		if(IsLeapYear(years)){
			printf("%d是闰年\n", years);
			count++;
		}
	}
	printf("1000-2000间共有%d个闰年", count);

	system("pause");
	return 0;
}
int IsLeapYear(int years){
	if ((years%4 == 0 && years%100 != 0) || years%400 == 0){
		return 1;
	}
	else {
		return 0;
	}
}

猜你喜欢

转载自blog.csdn.net/Q_feifeiyu/article/details/84426686
今日推荐