- 3个数从大到小输出
- .给定两个数,求这两个数的最大公约数
- 打印1000年到2000年之间的闰年
- 计算1/1-1/2+1/3-1/4+1/5…+1/99-1/100的值
- 求10个整数中最大值
1. 3个数从大到小输出
#include <stdio.h>
int main()
{
int a = 0;
int b = 0;
int c = 0;
scanf("%d%d%d",&a, &b, &c);// 9 6 3
// 算法实现
// a中最大值
// b次之
// c中最小值
if(a<b) //如果a<b,把b赋予a
{
int top = a; //防止原本a数据被修改
a = b;
b = top;
}
if(a<c) //如果a<c,把c赋予a
{
int top = a;
a = c;
c = top;
}
if(b<c) //如果b<c,把赋予b
{
int top = b;
b = c;
c = top;
}
printf("%d %d %d\n", a, b, c);
return 0;
}
2.给定两个数,求这两个数的最大公约数
#include <stdio.h>
int main()
{
int m = 24;
int n = 18;
int r = 0;
scanf("%d%d",&m, &n);
while(r=m%n) // 辗转相除法
{
//r = m%n;
m = n;
n = r;
}
printf("%d\n",n);
return 0;
}
3. 打印1000年到2000年之间的闰年
#include <stdio.h>
int main()
{
int year = 0;
int count =0; // 统计
for(year=1000;year<=2000;year++)
{
// 判断year是否为闰年
// 1、能被4整除并且不能被100整除是闰年
// 2、能被400整除是闰年
if(year%4==0 &&year%100!=0)
{
printf("%d ", year);
count++;
}
else if(year%400==0)
{
printf("%d ", year);
count++;
}
}
printf("\ncount = %d\n",count);
return 0;
}
4.计算1/1-1/2+1/3-1/4+1/5…+1/99-1/100的值
#include <stdio.h>
int main()
{
int i = 0;
double sum = 0.0;
int flag = 1;
for(i=1;i<=100;i++)
{
sum += flag*1.0/i; //1.0 1/2我们想要得到小数的结果
flag = -flag; // 正负
}
printf("%lf\n",sum);
return 0;
}
变得只有分母和符号。
5. 求10个整数中最大值
#include <stdio.h>
int main()
{
int arr[] = {-1,-2,3,-4,-5,-6,-7,-8,-9,-10};
int max = arr[2]; // 假设最大值为数组的某个元,下标是2
int i = 0;
int sz = sizeof(arr)/sizeof(arr[0]); //数组个数
for(i=1;i<sz;i++)
{
if(arr[i] > max)
{
max = arr[i];
}
}
printf("max = %d\n",max);
return 0;
}