swust oj 1165,0284(int a[n]\数字根),0074,0042,1171(矩阵相乘 输出对齐),0026/0189,0078(计算生日是星期几),0046,0077(计算员工周工资),0209,0129


1165

1.在输入n后,可以用int a[n]的方式定义数组大小,oj不支持a[]形式

2.注意题目要求,多组还是单组,输入输出格式


0284疑问:

1.输入至0时结束不可以用类似while((scanf("%d",&a))!=0)的表示么

2.对一个数求数字根有更简洁的写法么,如何将两个do while语句合并(使用if else语句实在只是保全之策)

0074:

1.矩阵的定义数组需要比数据多申请一个\0的位置, 故m行n列的数组需要申请a[m][n]
2.思路:输入两个矩阵,矩阵相乘,输出矩阵,用四个大for循环
3.输入矩阵的方法~for的嵌套
4.矩阵相乘的时候用c[i][j] += a[i][k]*b[k][j]感觉不错


0042:
1.oj提交题的时候注意printf时加上\n,否则就PE了
2.整数的相除结果自动取整,不要每次都被坑好不好

1171:
1.利用ah=ah+bh减少变量的个数使行文更简洁
2.输出的对齐:(以整数为例)
v 在"%"和字母之间插进数字表示最大场宽。如:%8d表示在输出一个小于8位的数值时, 将在前面补空格使其总宽度 为8位;

v 可以控制输出左对齐或右对齐, 即在"%"和字母之间加入一个"-" 号可说明输出为左对齐, 否则为右对齐。例如: %-7d 表示输出7位整数左对齐 ;

v 若想在输出值前加一些0, 就应在场宽项前加个0。例如:%02d 表示在输出一个小于2位的数值时, 将在前面补0使其总宽度 为2位;%022表示得到22位数,不足用0补足;

0026:

1.实现多组输入用 while(scanf("%d %d",&a1,&b1)!= EOF),当输入变成多组之后,就要考虑数据再一次的初始化。

2.求翻转数的核心:do while部分

0189:
这道题上耗了好久上次碰它是上个月了都。

解决一个问题要从思路开始,混乱的思路并不能边写便理清,而是从头开始乱到底。找到了大的方向,细枝末节的问题可以一个一个慢慢改,也不会觉得混乱。

《天龙八部之宿敌》陪这两篇代码。
晚安。

0078(switch,判断平闰年)

 虽然看上去只有几十行,但对于我这种学渣已经很费神费力了.
[思路]第一个for循环判断平年还是闰年,据此对a赋值,顺便把前面年份的天数赋给total.
第二个for循环把当前年的前面月份的天数赋给total,顺便把日期的天数赋给total.
最后switch语句根据total的值输出星期几.
..........语段分割线......
[经验]1.for着重于循环次数的控制,while着重于循环条件的控制.(有待深入理解区别)
2.每个数据在使用之前需要一个赋值,通过scanf或者i=1类型.for中i=1,在开头还是需要为i赋值,否则year=1的特殊情况便无i值(然而其实此题好像不必).
3.switch语句中需要break,不是没有也不是continue,因为需要退出整个switch语句.
4.若switch()的括号中是一个数字, 那么case后面如果是数字就能运行;但你如果是 '1'就代表1是个字符,而不是数字(所以之前用case'+'就没问题).
5.if语句的else与else if的区别:else if后面必须有一个判断条件,一般else就够用了.
6.if语句小括号里,非:(!(表达式))  且(表达式1 && 表达式2)       或(表达式1 || 表达式2).好像一般两个表达式的非可以用另外两种来表示,目前不清楚两个表达式的非怎么表示.
7.if(a==0)才是判断,if(a=0)是什么鬼,暂时还不能吃.
8.经检验,total+=365 这种表达方式oj是支持的.
9.对于判断平闰年,有更简单的方式(偷来的):if(a%4==0&&a%100!=0||a%400==0).

0046

 第一张是自己写的,看看别人写的,好像是我想法太复杂,用了很多的单词表示,不过求次方还是会了

0077

 ***float--%f     double--%lf
***if语句中的或与非,|| & ! 都写在括号里面
***当你不清楚小数点后是否保有有效数据的时候,你可以用%g输出如printf("%g\n",answer);
如answer为12.50自动输出12.5,若answer为12.00自动输出12
[优化]printf语句可以合并滴。

0209

这个问题千回百转的,算来算去要用很多步骤,运算时间也会拉长很多,那么,为什么不转换一下思维使之变得简洁呢.

每次%2,得到最后一位k位,翻转之后会到第k位,k++,那么第k位的转换成二进制会乘2的n-1-k次方,一步到位罢.

#include<stdio.h>
#include<math.h>
int main()
{int m,n,a,sum,k;while(scanf("%d %d",&m,&n)!=EOF){sum=k=0;while(k<n){a=m%2;sum+=a*(int)pow(2,n-1-k);m/=2;k++;}printf("%d\n",sum);}return 0;
}

0129(轰炸)

#include<stdio.h>
int main()
{int i,j,t,n,x[705],y[705],time,max=2;while(scanf("%d",&n)!=EOF){max=2;for(i=0;i<n;i++){scanf("%d %d",&x[i],&y[i]);}for(i=0;i<n;i++){for(j=0;j<n && i!=j;j++){time=2;for(t=0;t<n && t!=i && t!=j;t++){if((y[i]-y[j])*(x[i]-x[t])==(x[i]-x[j])*(y[i]-y[t]))time++;}if(time>max)max=time;}}printf("%d\n",max);}return 0;
}

思路在代码里哦

移自本人QQ空间
written by Sneexy.

swust oj代码+解析_1165,0284,0074,0042,1171,0026,0189,0078,0046,0077,0209,0129相关推荐

  1. swust oj代码+解析0086/0160/0489/1175/1181/0288/0287/0616/0276/1158,0133

    0086(杨辉三角)/0160/0489/1175/1181(超出lld的数)/0288(定义数组/三目运算符)/0287(one+two=3)/0616/0276/1158,0133(水王争霸) ( ...

  2. SWUST OJ题目解析(C语言):160促销计算

    160:促销计算 题目描述 某百货公司为了促销,采用购物打折的优惠方法,每位顾客一次购物:在1000元以上者,按9.5折优惠:在2000以上者,按9折优惠:在3000以上者,按8.5折优惠:在5000 ...

  3. [Swust OJ 404]--最小代价树(动态规划)

    题目链接:http://acm.swust.edu.cn/problem/code/745255/ Time limit(ms): 1000 Memory limit(kb): 65535 Descr ...

  4. 【Java实现链表操作】 万字肝爆 !链表的图文解析(包含链表OJ练习解析)

    目录指引: 前言: 链表的概念及结构 单链表的实现 一.实现链表的函数操作 1.实现链表的打印函数 2.实现得到单链表的长度函数 3.查找是否包含关键字key是否在单链表当中 4.链表头插法 5.链表 ...

  5. SWUST OJ#978 #979 #980 二叉树的遍历

    目录 深度优先遍历 输出利用先序遍历创建的二叉树的前序遍历序列 思路 代码 #978 输出利用先序遍历创建的二叉树的中序遍历序列 题目 思路 代码 #979 输出利用先序遍历创建的二叉树的后序遍历序列 ...

  6. matrix_multiply代码解析

    matrix_multiply代码解析 关于matrix_multiply 程序执行代码里两个矩阵的乘法,并将相乘结果打印在屏幕上. 示例的主要目的是展现怎么实现一个自定义CPU计算任务. 参考:ht ...

  7. CornerNet代码解析——损失函数

    CornerNet代码解析--损失函数 文章目录 CornerNet代码解析--损失函数 前言 总体损失 1.Heatmap的损失 2.Embedding的损失 3.Offset的损失 前言 今天要解 ...

  8. 视觉SLAM开源算法ORB-SLAM3 原理与代码解析

    来源:深蓝学院,文稿整理者:何常鑫,审核&修改:刘国庆 本文总结于上交感知与导航研究所科研助理--刘国庆关于[视觉SLAM开源算法ORB-SLAM3 原理与代码解析]的公开课. ORB-SLA ...

  9. java获取object属性值_java反射获取一个object属性值代码解析

    有些时候你明明知道这个object里面是什么,但是因为种种原因,你不能将它转化成一个对象,只是想单纯地提取出这个object里的一些东西,这个时候就需要用反射了. 假如你这个类是这样的: privat ...

最新文章

  1. 生信服务器 | Linux 时间戳和标准时间
  2. 程序世界的秘密(中)
  3. 大型网站后台架构的Web Server与缓存
  4. Namespace declaration statement has to be the very first statement in the script
  5. salesforce零基础学习(八十九)使用 input type=file 以及RemoteAction方式上传附件
  6. linux命令创建硬链接,Linux终端命令接口(十一)硬链接与软连接
  7. 深度学习去燥学习编码_我们问了15,000个人,他们是谁,以及他们如何学习编码
  8. LeetCode 804. 唯一摩尔斯密码词(哈希+set)
  9. 百度云盘云知梦php_教你搭建私有云盘,简单快速,完全傻瓜式!不限速,永久有效!...
  10. PHP笔记-文件上传例子
  11. 读取excel并将其转换为xml
  12. MyBatis集合Spring(三)之mapper
  13. Android系统架构
  14. 数据仓库系列之总线架构
  15. 夏普Android系统,夏普LCD-60\70TX85A及YunOS安卓运行环境安装指南
  16. 计算机中库的创建方法,win7系统下库的创建方法
  17. 四六级英语听力软件测试,英语四六级听力真题库
  18. 2021-08-04 jQuery基础整理 17-30 代码复制即可运行
  19. import_meta_graph 和 replicate_model_fn
  20. c语言函数参数的含义,C语言函数的含义

热门文章

  1. 设置电子围栏 高德地图_高德地图韦东:厘米级定位电子围栏,可规范共享单车“乱停放”...
  2. 有哪些非常好的前端网站或个人博客?
  3. HP小型机MP简易使用手册
  4. IOS控件学习:UILabel常用属性与用法
  5. 2020年环境经济学国际研讨会(EEC 2020)
  6. Window 10 优雅的快捷键
  7. 源码系列:基于FPGA的PS2通信电路设计(附源码)
  8. layout_weight如何计算比例?
  9. MySQL启动和关闭命令总结
  10. 台北淡水 渔人码头之行