分支与循环

标题:分支与循环(鹏哥的第9课)

1.100到200的素数
//之前的题目100到200的素数的优化:结论i如果能写成i = a*b ,其中i开平方是要大于等于a,b中的一个数的。
//因此可以用库函数sqrt(),用来开平方的函数。头文件是#include <math.h>。

#include <stdio.h>

int main()

{
int i = 0;
for (i = 100; i <= 200; i++)
{
int b = 0;
for (b = 2; b <= i - 1; b++)
{
if (i % b == 0)
{
break;
}
}
if (b == i)
printf("%d ", i);//为啥这个if语句得不能放在里面那个for里面呢?//解释:第2个for循环的条件直接判断了,里面吧可能b ==i。
}
return 0;
}
2.润年的求法
#include <stdio.h>//先看视频学会的简便算法

int main()//闰年1.能被4整除,且不能被100整除
//能被400整除。两个方法同时成立。

{
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(”\n%d", count);
return 0;
}
第2种方法
#include <stdio.h>//看视频后打的

int main()

{
int i = 0;
int count = 0;
for (i = 1000; i <= 2000; i++)
{
if (i%40 && i%100!=0)
{
printf("%d ", i);
count++;
}
else if(i%400
0)//老师讲解说else 后面是不能加这样的语句的,还是有点懵。
{
printf("%d “, i);
count++;
}
}
printf(”\n%d", count);
return 0;
}
3.求2个数的最大公约数
#include <stdio.h>//视频里的方法叫做辗转相除法。

int main()

{
int a = 0;
int b = 0;
int r = 0;
scanf_s("%d%d", &a, &b);//这个输入的顺序没有太大影响的。
while (a % b)
{
r = a % b;
a = b;
b = r;
}
printf("%d", b);
return 0;
}

#include <stdio.h>//题目与下面一样

int main()//先看视频分析写的。//思维乱了

{
int a = 0;
int b = 0;
scanf_s("%d%d", &a, &b);
if (a > b)
{
int c = a % b;
if (c == 0);
printf(“最大公约数是:%d”, b);
else(c != 0);
{for (; c != 0;)
{

	 }
	}
}
return 0;

}
#include <stdio.h>//题目:求2个数的最大公约数

int main()//自己写的

{
int a = 0;
int b = 0;
scanf_s("%d%d", &a, &b);
if (a > b)
{
int i = 0;
for (i = b; i > 0; i–)
{
if (a % i == 0 & b % i == 0)
{
printf(“最大公约数是:%d”, i);
break;
}
}
}
else if (b > a)
{
int i = 0;
for (i = a; i > 0; i–)
{
if (a % i == 0 & b % i == 0)
{
printf(“最大公约数是:%d”, i);
break;
}
}
}
else
printf(“最大公约数:%d”, a);

return 0;

}
4.输3个数,从大到小排
#include <stdio.h>//先看视频后打的代码//题目是输入3个数,输出按从小到大的排法。

int main()//scanf_s的头文件就是#include <stdio.h>。

{
int a = 0;
int b = 0;
int c = 0;
int ret = 0;
scanf_s("%d%d%d", &a, &b, &c);//注意这个%d是整型的意思,而我们的%c是字符型
if(a < b)//先记住scanf_s函数中\n的问题。
{
ret = a;
a = b;
b = ret;
}
if(a < c)
{
ret = a;
a = c;
c = ret;
}
if (b < c)
{
ret = b;
b = c;
c = ret;
}
printf("%d %d %d\n", a, b, c);
return 0;
}

#include <stdio.h>//自己打的代码

int main()

{
int a;
int b;
int c;
scanf_s("%d\n", &a);
scanf_s("%d\n", &b);
scanf_s("%d\n", &c);
if(a>=b>c)
return 0;
}
最近的状态不咋好,得继续加油了啊!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值