姓名:曹佳鑫 日期:6月21 号
今日学习任务:8道思考题
今日任务完成情况:
1 .如何判断闰年?√
#include <stdio.h>//判断闰年,能够被400整除,或者能被4整除不能被100整除
void main()
{
int year;
scanf("%d",&year);//注意输入的时候不加\n,\n表示换行
if(year%400 == 0 || (year%4 == 0 && year%100 != 0))//整除是取余
{
printf("year:%d is leap year!",year);
}
else
printf("year:%d is not leap year!",year);
getchar();
return 0;
}
2. 如何判断一个素数?100~200之间的素数怎么判断?√
#include <stdio.h>//判断一个素数,100~200之间的素数怎么判断
#include <math.h>
void main()
{ int i,m,k;
for(m = 100;m <= 200;m++)//素数:只能被1和本身整除,除去偶数也就是2的倍数以外的数开根sqrt
{
//k=sqrt(m);
for(i = 2;i <=m/2;i++)
{
if(m%i == 0) break;
}
if(i == m/2 +1 ) printf("%d是素数\n",m);//注意:break后,i会自加,所以要加一,
//若此语句放在for循环里,则不需要加1
}
while(1);
}
3.求两个数的最大公约数,最小公倍数?√
#include<stdio.h> //辗转相除法,又名欧几里德算法(Euclidean algorithm).
int main()
{
int x, y, z, m, n;
printf("请输入两个数:");
scanf_s("%d%d", &x, &y);
m = x, n = y;
while (y != 0)
{
z = x%y;
x = y;
y = z;
}
printf("最大公约数是: %d\n", x);
printf("最小公倍数是: %d\n", m*n / x);
system("pause");
return 0;
}
4. 设计一个计算器程序×
5. 设计一个日历程序,输入年月日,输出当年第多少天?×
6.把一个三位数整数,逆序输出 √
#include<stdio.h>//一个三位数整数,逆序输出
void main()
{
int a, b, c, num1, num2;
scanf("%d",&num1);
a=num1%10;//gewei
b=(num1/10)%10;//shiwei
c=num1/100;//baiwei
num2=a*100+b*10+c;
printf("%d\n",num2);
getchar();
return 0;
}
7. 求1~100之间的和√
#include<stdio.h>//1~100之间的和
void main()
{
int i;
int sum=0;
for(i=1;i<101;i++)//for循环之间用;隔开
{
sum+=i;
//printf("%d",sum);不可以写在for循环里面
}
printf("1~100之间和为:%d",sum);
}
8. 200~300之间不能被3整除的数,5个一行输出√
#include<stdio.h>//200~300之间不能被3整除的数,5个一行输出
void main()
{
int num;
int count=0;
for(num = 200; num <= 300; num++)
{
if(num % 3 != 0)
{
if(count % 5 == 0) //5个一行输出要放在不能被3整除的里面!
printf("%5d\n",num);
else
printf("%5d",num);
count++;
}
}
}
今日开发中遇到的问题汇总:1.最大公约怎么求:数辗转相除法,又名欧几里德算法(Euclidean algorithm).
2. 5个一行输出,见题8
今日未解决的问题:题4、5不会。
今日开发收获:开始会打一点点代码了,
自我评价:我很优秀