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