概述
第二章练习
1、输出0-999的水仙花数
水仙花数:一个数 = 它各位的立方和
方法一:for循环
#include<stdio.h>
int main()
{
int i,m,n,k;
for (i = 0; i < 1000; i++)
{
m = i / 100;
n = i / 10 % 10;
k = i % 10;
if (i == m*m*m + n*n*n + k*k*k)
{
printf("%d是水仙花数n", i);
}
}
return 0;
}
方法二:while循环 先判断再循环
int main()
{
int m,n,k;
int i = 0;
while (i < 1000)
{
m = i / 100;
n = i / 10 % 10;
k = i % 10;
if (i == m * m * m + n * n * n + k * k * k)
{
printf("%d是水仙花数n", i);
}
i++;
}
return 0;
}
方法三:do while循环 先循环再判断
int main()
{
int m, n, k;
int i = 0;
do
{
m = i / 100;
n = i / 10 % 10;
k = i % 10;
if (i == m * m * m + n * n * n + k * k * k)
{
printf("%d是水仙花数n", i);
}
i++;
}
while (i < 1000);
return 0;
}
运行的结果
0是水仙花数
1是水仙花数
153是水仙花数
370是水仙花数
371是水仙花数
407是水仙花数
2、任意给出一个年、月、日,判断是这一年的第几天
闰年算法:能被4整除且不能被100整除,或者能被400整除
例如:2012 5 10是这一年的第131天
#include<stdio.h>
int main()
{
int year, month, day;
int sum;
printf("请输入年 月 日,用空格隔开n");
scanf_s("%d %d %d", &year, &month, &day);
//31天 1,3,5,7, 8,10,12
//30天 4,6,9,11
//29天 2(闰年)
//28天 2(平年)
//if ((year % 4 == 0 && year % 4 != 0)||(year % 400 == 0))
switch (month)
{
case 1:
sum = day;
break;
case 2:
sum = 31 + day;
break;
case 3:
sum = 31 + 28 + day;
break;
case 4:
sum = 31 + 28 + 31 + day;
break;
case 5:
sum = 31 + 28 + 31 + 30 + day;
break;
case 6:
sum = 31 + 28 + 31 + 30 + 31 + day;
break;
case 7:
sum = 31 + 28 + 31 + 30 + 31 + 30 + day;
break;
case 8:
sum = 31 + 28 + 31 + 30 + 31 + 30 + 31 + day;
break;
case 9:
sum = 31 + 28 + 31 + 30 + 31 + 30 + 31 + 31 + day;
break;
case 10:
sum = 31 + 28 + 31 + 30 + 31 + 30 + 31 + 31 + 30 + day;
break;
case 11:
sum = 31 + 28 + 31 + 30 + 31 + 30 + 31 + 31 + 30 + 31 + day;
break;
case 12:
sum = 31 + 28 + 31 + 30 + 31 + 30 + 31 + 31 + 30 + 31 + 30 + day;
break;
default:
sum = 0;
printf("您输入的月份有误");
break;
}
if (month > 2 && (year % 4 == 0 && year % 100 != 0) || (year % 400 == 0))
switch (month)
{
case 3:
sum = 31 + 29 + day;
break;
case 4:
sum = 31 + 29 + 31 + day;
break;
case 5:
sum = 31 + 29 + 31 + 30 + day;
break;
case 6:
sum = 31 + 29 + 31 + 30 + 31 + day;
break;
case 7:
sum = 31 + 29 + 31 + 30 + 31 + 30 + day;
break;
case 8:
sum = 31 + 29 + 31 + 30 + 31 + 30 + 31 + day;
break;
case 9:
sum = 31 + 29 + 31 + 30 + 31 + 30 + 31 + 31 + day;
break;
case 10:
sum = 31 + 29 + 31 + 30 + 31 + 30 + 31 + 31 + 30 + day;
break;
case 11:
sum = 31 + 29 + 31 + 30 + 31 + 30 + 31 + 31 + 30 + 31 + day;
break;
case 12:
sum = 31 + 29 + 31 + 30 + 31 + 30 + 31 + 31 + 30 + 31 + 30 + day;
break;
default:
sum = 0;
printf("您输入的月份有误");
break;
}
printf("%d年%d月%d日是这一年的第%d天n", year, month, day, sum);
return 0;
}
最后
以上就是眯眯眼鞋子为你收集整理的C学习日记(2)第二章练习的全部内容,希望文章能够帮你解决C学习日记(2)第二章练习所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复