homeworkFour 有太多的感触
2015-07-30 21:26
288 查看
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[]) {
/*
//作业1、随机产生20个[10 , 100]的正整数,输出这些数以及他们中的最大数
int numberCount=20;
int numberRandom[20]={0};
int i=0;
int numberMax=45;
while (numberCount--) {
numberRandom[i]=arc4random()%91+10;
if (numberRandom[i]>numberMax) {
numberMax=numberRandom[i];
}
printf("%d\t",numberRandom[i]);
}
printf("\n最大值:%d\n",numberMax);
//作业2、编程将所有“水仙花数”打印出来,并打印其总个数。 “水仙花数”是一个 各个位立方之和等于该整数的三位数。
int i=101;
int countShuiXianHua=0;
while (i<1000) {
int sumFirst=(i/100)*(i/100)*(i/100);//百位
int tempSecond=i/10;
int sumSecond=(tempSecond%10)*(tempSecond%10)*(tempSecond%10);//十位
int sumThird=(i%10)*(i%10)*(i%10);//个位
int sum=sumFirst+sumSecond+sumThird;
if (sum==i) {
countShuiXianHua++;
printf("%d是水仙花数.\n",i);
}
i++;
}
printf("100-1000一共有%d个水仙花数.\n",countShuiXianHua);
*/
//作业3、已知abc+cba = 1333,其中a,b,c均为一位数,编程求出满足条件的a,b,c所有组合
for (int a=1; a<=9; a++) {
for (int b=1; b<=9; b++) {
for (int c=1; c<=9; c++) {
if (a*100+b*10+c+c*100+b*10+a==1333) {
printf("%d%d%d\t",a,b,c);
}
}
}
}
printf("\n");
//下面的是我个人的数学思想,虽然是正确的,但是却很难实现,所以,我上网查了一下,结果却如此easy,如上面的代码所示,我的逻辑思想真的不是很强,而且有时候很容易就逛进一个死胡同,还怎么也走不出来,这是我最大的问题,我一低昂要慢慢养成站在“巨人”的肩膀上来思考代码的实现过程,不能局限于自己的一小片天空,有时候,自己就是固步自封,于是就只能是井底之蛙了。为什么要早分享和晚分享,就是因为我自己一个人经历再多,也没有四十几个人经历的多,通过聆听别人的分享 的故事,自己也能额外获得更多的故事,所以,一定要学会去看看别人的思想过程。
//
// int numberABC=0;
// int numberGewei=numberABC%10; //个位
// int numberBaiwei=numberABC/10; //百位
// int numberShiwei=numberBaiwei%10; //十位
//
// int numberOffABC=numberGewei*100+numberShiwei*10+numberBaiwei;
// if (numberABC+numberOffABC==1333) {
// printf("%d",numberABC);
// }
// printf("Go on.\n");
/*
//作业4、反复校验用户输入的生日,包括年、月、日。直到年、月、日都合法。
// 提示:
// (1)使用while循环实现反复校验
// (2)使用switch实现校验
// (3)只有闰年才有2月29日
// (4)1、3、5、7、8、10、12,每个月有31天
// (5)4、6、9、11,每个月有30天
int year =0,month=0,day=0;
BOOL flag=YES;
while (flag) {
printf("请输入年月日:\n");
scanf("%d,%d,%d",&year,&month,&day);
if (year<1000||year>2015) {
printf("年份不正确.\n");
continue;
}else{
switch (month) {
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
if (day<1||day>31) {
printf("天数不正确.\n");
continue;
}else{
printf("%d.%d.%d\n",year,month,day);
flag=NO;
break;
}
case 2:
if (year%400==0||(year%100!=0&&year%4==0)) {
if (day<1||day>29) {
printf("天数不正确.\n");
continue;
}else{
printf("%d.%d.%d\n",year,month,day);
flag=NO;
break;
}
}else{
if (day<1||day>28) {
printf("天数不正确.\n");
continue;
}else{
printf("%d.%d.%d\n",year,month,day);
flag=NO;
break;
}
}
case 4:
case 6:
case 9:
case 11:
if (day<1||day>31) {
printf("天数不正确.\n");
continue;
}else{
printf("%d.%d.%d\n",year,month,day);
flag=NO;
break;
}
default:
printf("月份不正确.\n");
continue;
}
}
}
//预习作业1、定义数组,存储4个年龄值,并循环打印输出
int age[4]={0};
printf("请输入4个年龄值:\n");
for (int i=0; i<4; i++) {
scanf("%d",&age[i]);
}
for (int i=0; i<4; i++) {
printf("%d\t",age[i]);
}
printf("\n");
*/
return 0;
}
int main(int argc, const char * argv[]) {
/*
//作业1、随机产生20个[10 , 100]的正整数,输出这些数以及他们中的最大数
int numberCount=20;
int numberRandom[20]={0};
int i=0;
int numberMax=45;
while (numberCount--) {
numberRandom[i]=arc4random()%91+10;
if (numberRandom[i]>numberMax) {
numberMax=numberRandom[i];
}
printf("%d\t",numberRandom[i]);
}
printf("\n最大值:%d\n",numberMax);
//作业2、编程将所有“水仙花数”打印出来,并打印其总个数。 “水仙花数”是一个 各个位立方之和等于该整数的三位数。
int i=101;
int countShuiXianHua=0;
while (i<1000) {
int sumFirst=(i/100)*(i/100)*(i/100);//百位
int tempSecond=i/10;
int sumSecond=(tempSecond%10)*(tempSecond%10)*(tempSecond%10);//十位
int sumThird=(i%10)*(i%10)*(i%10);//个位
int sum=sumFirst+sumSecond+sumThird;
if (sum==i) {
countShuiXianHua++;
printf("%d是水仙花数.\n",i);
}
i++;
}
printf("100-1000一共有%d个水仙花数.\n",countShuiXianHua);
*/
//作业3、已知abc+cba = 1333,其中a,b,c均为一位数,编程求出满足条件的a,b,c所有组合
for (int a=1; a<=9; a++) {
for (int b=1; b<=9; b++) {
for (int c=1; c<=9; c++) {
if (a*100+b*10+c+c*100+b*10+a==1333) {
printf("%d%d%d\t",a,b,c);
}
}
}
}
printf("\n");
//下面的是我个人的数学思想,虽然是正确的,但是却很难实现,所以,我上网查了一下,结果却如此easy,如上面的代码所示,我的逻辑思想真的不是很强,而且有时候很容易就逛进一个死胡同,还怎么也走不出来,这是我最大的问题,我一低昂要慢慢养成站在“巨人”的肩膀上来思考代码的实现过程,不能局限于自己的一小片天空,有时候,自己就是固步自封,于是就只能是井底之蛙了。为什么要早分享和晚分享,就是因为我自己一个人经历再多,也没有四十几个人经历的多,通过聆听别人的分享 的故事,自己也能额外获得更多的故事,所以,一定要学会去看看别人的思想过程。
//
// int numberABC=0;
// int numberGewei=numberABC%10; //个位
// int numberBaiwei=numberABC/10; //百位
// int numberShiwei=numberBaiwei%10; //十位
//
// int numberOffABC=numberGewei*100+numberShiwei*10+numberBaiwei;
// if (numberABC+numberOffABC==1333) {
// printf("%d",numberABC);
// }
// printf("Go on.\n");
/*
//作业4、反复校验用户输入的生日,包括年、月、日。直到年、月、日都合法。
// 提示:
// (1)使用while循环实现反复校验
// (2)使用switch实现校验
// (3)只有闰年才有2月29日
// (4)1、3、5、7、8、10、12,每个月有31天
// (5)4、6、9、11,每个月有30天
int year =0,month=0,day=0;
BOOL flag=YES;
while (flag) {
printf("请输入年月日:\n");
scanf("%d,%d,%d",&year,&month,&day);
if (year<1000||year>2015) {
printf("年份不正确.\n");
continue;
}else{
switch (month) {
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
if (day<1||day>31) {
printf("天数不正确.\n");
continue;
}else{
printf("%d.%d.%d\n",year,month,day);
flag=NO;
break;
}
case 2:
if (year%400==0||(year%100!=0&&year%4==0)) {
if (day<1||day>29) {
printf("天数不正确.\n");
continue;
}else{
printf("%d.%d.%d\n",year,month,day);
flag=NO;
break;
}
}else{
if (day<1||day>28) {
printf("天数不正确.\n");
continue;
}else{
printf("%d.%d.%d\n",year,month,day);
flag=NO;
break;
}
}
case 4:
case 6:
case 9:
case 11:
if (day<1||day>31) {
printf("天数不正确.\n");
continue;
}else{
printf("%d.%d.%d\n",year,month,day);
flag=NO;
break;
}
default:
printf("月份不正确.\n");
continue;
}
}
}
//预习作业1、定义数组,存储4个年龄值,并循环打印输出
int age[4]={0};
printf("请输入4个年龄值:\n");
for (int i=0; i<4; i++) {
scanf("%d",&age[i]);
}
for (int i=0; i<4; i++) {
printf("%d\t",age[i]);
}
printf("\n");
*/
return 0;
}
相关文章推荐
- codeblocks一些快捷操作
- 在OpenCV中图像边界扩展 copyMakeBorder 的实现
- C++模板类继承中的Name Lookup
- DataTable转Json(兼容easyUI特殊json分页)
- SSH学习四 Hibernate多对一的关系 + 增删改查
- 6174问题
- 数字图像学习1
- Aerospike使用介绍
- 查看触发器的源代码
- 常见的监控软件原理
- Java的垃圾回收总结
- HDOJ 1551 Cable master(二分查找)
- PULL解析XML的运行机制详解
- Java07—30
- 数据库相关(3) JDBC
- 黑马程序员------OC 内存管理MRC和autorelease pool
- View Controller 转场
- 2015 Multi-University Training Contest 4 hdu 5335 Walk Out
- poj 1573 Robot Motion
- 如何实现EditPlus、UE等工具的列选择,并且将选择的列复制到word中的表格