暑假学习打卡【4】——北理工乐学第四周作业
1、【图形】输出一行星号
现在要用最简单得办法,在一行中输出N个星号。
输入:
N值
输出:
一行中N个星号。
int main()
{ int a;//a表示自己输入的数字 scanf("%d",&a); int i;//i表示星号数量 for(i=0;i<a;i++) printf("*");printf("\n"); return 0;
}
------------------------------------------------这里是无情的切割线------------------------------------------------------
2、【图形】数字正方型
这是双重循环的入门题目,大家来看看,你会做吗?
输入 n 的值,输出如下例( n=4 )所示的由数字组成的正方型。
1 2 3 4
5 6 7 8
9 10 11 12
13 14 15 16
输入:
n
输出:
数字组成的正方型
#include <stdio.h>
int main()
{ int n,i,j,m;//n表示输出的数字,i表示行数,j表示列数,m表示每一行第一个数字的大小 scanf("%d",&n); m=1; for(i=0;i<n;i++) { for(j=0;j<n;j++) { printf("%3d",m); m++; } printf("\n"); } return 0;
}
注意这里采用的是右对齐格式~
------------------------------------------------这里是无情的切割线------------------------------------------------------
3、【数列】求最小 m 值
求满足下列不等式的最小 m。
1 + 2 + 3 + 4 + ...... + m ≥ n
例如:n=100,当 m =14 时,满足:1+2+3+4+...+13=91<100,而 1
+2+3+4+......+14=105>100。
输入:n
输出:m
#include <stdio.h>
int main()
{ int n = 0;//n表示自己输入的数据 int m = 0;//m表示输出的结果 int i = 1; int s = 0;//s表示总和 scanf("%d", &n); for (i = 1;;i++) { s += i; m++; if (s >= n) { printf("%d\n", m); break; } } return 0;
}
------------------------------------------------这里是无情的切割线------------------------------------------------------
4、【中学】寻找阿姆斯特朗数
请编写一个程序寻找一种特殊整数:一个 n 位的正整数等于其各位数字的n次方之和。
例如:407=4×4×4+0×0×0+7×7×7。所以407就是一个特殊数。
输入:
正整数的位数n(n<=6)。
输出:
所有此n位特殊数。每个数占一行。若不存在符合条件的特殊数,则输出提示:"No output.”;若存在,则从小到大进行输出。
说明:
假设输入为4,在4位整数中,有3个4位的特殊数,则输出格式为(输出中的1111、2222和9999并不是4位特殊数,只是格式样例):
1111
2222
9999
首先是我第一次写这道题的过程,很繁琐⬇
#include <stdio.h>
int main()
{ int n;//n表示输入的数字位数 int i; int min=1; int max=10; scanf("%d",&n); for(i=1;i<n;i++) { min*=10; max*=10; } int x,y,m=0;//y表示各位数的三次方的和 int a1; int a2,b2; int a3,b3,c3; int a4,b4,c4,d4; int a5,b5,c5,d5,e5; int a6,b6,c6,d6,e6,f6; switch(n) { case 1: for(x=min;x<max;x++) { a1=x%max; y=a1; if(x==y) { m=1; printf("%d\n",x); } else{ continue; } } if(m==0) { printf("No output."); } break; case 2: for(x=min;x<max;x++) { a2=x/10;b2=x%10; y=a2*a2+b2*b2; if(x==y) { m=1; printf("%d\n",x); } else{ continue; } } if(m==0) { printf("No output.\n"); } break; case 3: for(x=min;x<max;x++) { a3=x/100;b3=x/10%10;c3=x%10; y=a3*a3*a3+b3*b3*b3+c3*c3*c3; if(x==y) { m=1; printf("%d\n",x); continue; } else{ continue; } } if(m==0) { printf("No output."); } break; case 4: for(x=min;x<max;x++) { a4=x/1000;b4=x/100%10;c4=x%100/10;d4=x%100%10; y=a4*a4*a4*a4+b4*b4*b4*b4+c4*c4*c4*c4+d4*d4*d4*d4; if(x==y) { m=1; printf("%d\n",x); continue; } else{ continue; } } if(m==0) { printf("No output."); } break; case 5: for(x=min;x<max;x++) { a5=x/10000;b5=x/1000%10;c5=x%1000/100;d5=x%100/10;e5=x%100%10; y=a5*a5*a5*a5*a5+b5*b5*b5*b5*b5+c5*c5*c5*c5*c5+d5*d5*d5*d5*d5+e5*e5*e5*e5*e5; if(x==y) { m=1; printf("%d\n",x); continue; } else{ continue; } } if(m==0) { printf("No output."); } break; case 6: for(x=min;x<max;x++) { a6=x/100000;b6=x/10000%10;c6=x/1000%10;d6=x%1000/100;e6=x%100/10;f6=x%10; y=a6*a6*a6*a6*a6*a6+b6*b6*b6*b6*b6*b6+c6*c6*c6*c6*c6*c6+d6*d6*d6*d6*d6*d6+e6*e6*e6*e6*e6*e6+f6*f6*f6*f6*f6*f6; if(x==y) { m=1; printf("%d\n",x); continue; } else{ continue; } if(m==0) { printf("No output."); } break; } }
}
后面对此进行修改后:
#include <stdio.h>
#include <math.h>
int main()
{int n=0;scanf("%d",&n); int i=0,min=0,max=0,j=0;//min表示n位数的最小值,max表示n位数的最大值,j表示在min~max区间的n位数 int sum=0,sign=0;min=pow(10,n-1);max=pow(10,n)-1; int arr[7]={0};for(j=min;j<=max;j++){sum=0; for(i=1;i<=n;i++){int x=pow(10,i);int y=pow(10,i-1);arr[i]=(j%x)/y; //确定每一位的数字} for(i=1;i<=n;i++)sum+=pow(arr[i],n); if(sum==j){sign=1;printf("%d\n",sum);}}if(sign==0)printf("No output.\n");return 0;
}
------------------------------------------------这里是无情的切割线------------------------------------------------------
5、【日期】再算星期(选做)
再次给出任意一个年月日(年>1900),现在我们不能只是直接计算,要先判断给出的日期是否合法,对于非法的日期要给出错误提示信息,合法的日期要再计算是星期几。
输入:
年 月 日
输出:
0~6。
星期日用 0 表示,星期一用 1 表示,星期二用 2 表示......星期六用 6 表示。
假设年份大于1900。先想一想:我们现在只会使用 if 语句,该如何建立数学模型?
#include <stdio.h>
int main() { int m[12] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}; int a, b, c, i, j, sum = 0, day = 0, d; scanf("%d %d %d", &a, &b, &c); if ((a % 4 == 0) && (a % 100 != 0) || (a % 400 == 0)) m[1] = 29; if ((b > 12) || (b < 1)) { printf("month is error.\n"); return 0; } else if ((c > m[b - 1]) || (c <= 0)) { printf("day is error.\n"); return 0; } else for (i = 1900; i < a; i++) { if ((i % 4 == 0) && (i % 100 != 0) || (i % 400 == 0)) sum = sum + 366; else sum = sum + 365; } for (j = 0; j < (b - 1); j++) { day = day + m [j]; } d = ((sum + day + c) % 7) ; printf("%d\n", d); return 0;
}
------------------------------------------------这里是无情的切割线------------------------------------------------------
以上。
暑假学习打卡【4】——北理工乐学第四周作业相关推荐
- 暑假学习打卡【1】——欢迎来到C语言的世界
#include <stdio.h> void main() {printf("欢迎报考百丽宫");return 0; } 前段时间被北理的C语言期末考试给打击到了.. ...
- 北理工乐学C语言 47. 【大学】北理工的恶龙
背景:最近,北理工出现了一只恶龙,它长着很多 头,而且还会吐火,它将会把北理工烧成废墟, 于是,校长下令召集全校所有勇士杀死这只恶龙.要杀死这只龙,必须把它所有的头都砍掉,每个勇士只能砍一个龙头,龙的 ...
- 北理工 管理系统计算机仿真作业,20秋北理工《CADCAM原理与应用》--模拟3-答案 更…...
20秋北理工<CADCAM原理与应用>--模拟3-答案 更- 2020-08-06 09:08:00 583 有学员问关于20秋北理工<CADCAM原理与应用>--模拟3-答案 ...
- 北理工计算机组成原理在线作业,北理工19秋《计算机组成原理》在线作业(满分)...
奥鹏作业答案 联系QQ:3326650399 微信:cs80188 熊猫奥鹏:北理工<计算组织成原理>在线作业 1.在定点机中实施算术运算时会发生溢出,其缘由是() A.主存容量不可 B. ...
- 北理工乐学 42. 五年级小学生的题目
42. 五年级小学生的题目 成绩 5 开启时间 2022年10月24日 星期一 08:00 折扣 0.8 折扣时间 2022年11月13日 星期日 23:55 允许迟交 否 关闭时间 2022年11月 ...
- 北理工乐学C语言 60.合并排序
60.合并排序 成绩 0 开启时间 2022年11月7日 星期一 08:00 折扣 0.8 折扣时间 2022年11月27日 星期日 23:35 允许迟交 否 关闭时间 2022年12月4日 星期日 ...
- 北理工乐学C语言 49.扫雷
49. 扫雷 背景 你玩儿过扫雷游戏吧?有个操作系统中带了这个小游戏,那个系统叫什么来着?;-)在游戏中要想过关,就必须要在一个 NxM 的区域上找出所有的地雷.游戏过程中,计算机会在地图上显示一些数 ...
- 北理工乐学H:洗牌(选作)
H:洗牌(选作) 成绩 5 开启时间 2022年11月21日 星期一 08:00 折扣 0.8 折扣时间 2022年12月31日 星期六 23:55 允许迟交 否 关闭时间 2022年12月31日 星 ...
- 北理工乐学68.恭喜发财 利是窦来
68. 恭喜发财 利是窦来 成绩 5 开启时间 2022年11月21日 星期一 08:00 折扣 0.8 折扣时间 2022年12月18日 星期日 23:55 允许迟交 否 关闭时间 2022年12月 ...
- 北理工计算机组成原理在线作业,[北京师范大学]20秋《计算机组成原理》离线作业...
单选 1.世界上第一台电子数字计算机诞生于( ) 年. 分值:4 A. 1946 B. 1950 C. 1958 D. 1965 2.CD-ROM光盘是( )型光盘,可用做计算机的( )存储器 ...
最新文章
- 华为服务器引入清空外部配置文件,云服务器还原配置文件
- c# typescript_在任何IDE中从C#,Java或Python代码获取TypeScript接口的简单方法
- docker启动elasticsearch失败--jvm内存不足解决方案
- 什么是matlab中的fints函数,Matlab基本函数
- .ini文件中的PHP 5.6 error_reporting设置不起作用
- [原创] GSM/GPRS 以及CDMA区分以及相关模块选型
- 共享一些变态的签名,希望不太OLD
- c语言编写一个函数判断闰年,C语言:实现一个函数判断year是不是闰年
- RSocket协议初识
- Linux单独编译设备树,迅为IMX6Q开发板-非设备树内核-单独编译内核驱动
- 《软技能:代码之外的生存指南》一一21.3 打造成功博客的秘诀
- java zookeeper 主从热备_zookeeper 学习
- 为什么大多公司不要培训班培训出来的Java程序员?
- EDP to LVDS转换设计电路|EDP to LVDS转接板电路|Capstone/CS5211芯片电路原理图参考
- android qq传文件夹,电脑传到手机QQ的资料在哪个文件夹里?
- ijkPlayer点播/直播/VR视频播放器(解码器)研究(2)-Android
- 随机梯度下降法、牛顿法、冲量法、AdaGrad、RMSprop以及Adam优化过程和理解
- 如何在Unity编辑器中添加你自己的工具
- 基于ZigBee的放射源监控系统研究
- 软件版本号详解,Alpha、Beta、RC、Stable、Release、GA、RTM、RTL、OEM、