C基础
1、求两个数m和n的最大公约数(辗转相除法)
#include<stdio.h>
#include<math.h>
int divisor(int m,int n)
{
int tmp = 0;
tmp = m%n;
while(tmp != 0)
{
m = n;
n = tmp;
tmp = m%n;
}
printf("最大公约数为:%d\n",n);
return 0;
}
2、判断是否为闰年
void IsLeap(int year)
{
if(year%4 == 0 && year%100 != 0 || year%400 == 0)
{
printf("%d\n",year);
}
}
int main()
{
for(int i = 2000; i < 3000; i++)
{
IsLeap(i);
}
}
3、将100~300之间的素数输出
bool prime(int num)
{
for(int i = 2; i < num; i++)
{
if(num%i == 0)
{
return false;
}
}
return true;
}
int main()
{
for(int i = 100; i < 300; i++)
{
if(prime(i)
{
printf("%d is prime\n",i);
}
}
}
4、求出数据的位数
int GetFigures(int n)
{
if(n == 0)
{
return 1;
}
int count = 0;
while(n != 0
{
count++;
n /= 10;
}
return count;
}
5、让数据从个位依次输出
void PrintReverse(int n)
{
do
{
printf("%d\n",n%10);
n /= 10;
}
while(n != 0)
printf("\n");
}
6、对数值开平方,求出最大的开平方整数
int MySqrt(int n)
{
int i;
for(i = 0;i*i <= n; i++)
{
//当有for语句时;不需要下面的条件时,需要一个分号或一对大括号
}
return i-1;
}