作业 输入三个数 按从大到小排列
int main()
{
int a = 0;
int b = 0;
int c = 0;
scanf("%d%d%d", &a, &b, &c);
if (a < b)
{
int l = a;
a= b;
b = l;
}
if (a < c)
{
int l = a;
a = c;
c = l;
}
if (b < c)
{
int l = b;
b = c;
c = l;
}
printf("%d %d %d \n", a,b,c);
return 0;
}
注意 if 后面不要加 “ ;”
scanf()中,%d%d%d 不需要空格,printf()%d可以空格
2 输出100以内被三整除的数
int main()
{
int i = 0;
for (i = 1; i <= 100; i++)
{
if (i % 3 == 0)
{
printf("%d ", i);
}
}
return 0;
}
for()后面不需要加“;”
第二种做法
int main()
{
int i = 0;
for (i = 3; i <= 100; i+=3)
{
printf("%d ", i);
}
return 0;
}
3 求两数字最大公约数
int main()
{
int i = 0;
int m = 0;
scanf("%d%d",& i, & m);
int max = 0;
if (m > i)
max = m;
else
max = i;
while (1)
{
if (m % max == 0 && i % max == 0)
{
printf("最大公约数%d\n", max);
break;
}
max--;
}
}
了解公约数的特点,学会使用&&的作用,且if()后面不要加“;”
3.2用辗转相除法计算最大公约数
int main()
{
int m = 0;
int n = 0;
scanf("%d%d", &m, &n);
int t = 0;
while(t=m%n)
{
m = n;
n = t;
}
printf("最大公约数%d", n);
return 0;
}
4 求1000-2000年之间的闰年
int main()
{
int i = 0;
int count = 0;
for (i = 1000; i <= 2000; i++)
{
if (((i % 4 == 0) && (i % 100 != 0)) || (i % 400 == 0))
{
printf("%d ", i);
count++;
}
}
printf("\ncount=%d\n", count);
return 0;
}
输出count时要在for循环以为的地方
5 求100-200之间的素数
int main()
{
int i = 0;
for (i = 100; i <= 200; i++)
{
int j = 0;
for (j = 2; j < i; j++)
{
if (i % j == 0)
{
break;
}
}
if (i == j)
{
printf("%d ", i);
}
}
return 0;
}
不同的做法
int main()
{
int i = 0;
for (i = 100; i <= 200; i++)
{
int j = 0;
int flag = 1;
for (j = 2; j < i; j++)
{
if (i % j == 0)
{
flag = 0;
break;
}
}
if (flag == 1)
{
printf("%d ", i);
}
}
return 0;
}
#include <math.h>
int main()
{
int i = 0;
int count = 0;
for (i = 100; i <= 200; i++)
{
int j = 0;
int flag = 1;
for (j = 2; j < sqrt(i); j++)//sqrt 开平方的函数
{
if (i % j == 0)
{
flag = 0;
break;
}
}
if (flag == 1)
{
count++;
printf("%d ", i);
}
}
printf("\ncount = %d", count);
return 0;
}
认识了一个sqrt()函数
需要使用#include <math.h>头文件
6 1-100之间有9的数
int main()
{
int i = 0;
int a = 0;
int b = 0;
int count=0;
for (i = 0; i <= 100; i++)
{
a = i % 10;
b = i / 10;
if ((a == 9 || b == 9))
{
count++;
printf("%d ", i);
}
}
printf("\ncount =%d\n", count);
return 0;
}
a求的是十位上有9的数
b求的是个位数有9的数
7 分数的求和 1/1+(-1/2)+1/3+...(-1/100)
int main()
{
int i = 0;
double sum = 0.0;
int flag = 1;
for (i = 1; i <= 100; i++)
{
sum += flag * 1.0 / i;
flag = -flag;
}
printf("%lf", sum);
return 0;
}
这里面类似与sum=1*(1/1)+(-1)*(1/2)...(-1)*(1/100)这么算的