swust oj代码+解析0086/0160/0489/1175/1181/0288/0287/0616/0276/1158,0133
(0086)1.利用杨辉三角的定义,将其看成二维数组,每个数等于它正上方的数以及其左边一个数的和;
2.为了使每一次循环中的求和有效,需要虚拟出第0行以及第0列,并合理赋值。
(0489)坑点:并没有默认输入的a,b是a<b(0189也是这样)
(1175) 坑点:m=0时i=0。
(1181)1.当数据长过long long int时,就可以考虑使用数组来表达了,数据溢出会错得很奇怪。能够正确使用数组,是需要找规律的[笑泪];
2.注意临界点,不注意会有错;
3.新get的求次方的方法:顶上一句#include<math.h> 然后pow(x,y),表示x的y次方;
4. initialized已初始化的
local variable 'm' used without having been initialized输入缺&时会出现这个提示。
(0288)
1. 定义整型数组时给它赋初值;
2.对数组进行输入时用scanf("%s",a);a为数组名;
3.将b数组定义成int是错的,定义成char就对了,这是accepted和wrong answer的区别之在 ;
a[i]是字母,故j为字母,故b[]为char ,不要随随便便把int char随便交叉用,就算换也尽量用强行转换符号;
4.三目运算符格式: 判断表达式1?表达式2:表达式3
5.桶运算。
(0287)one+two=3的转换,现在的办法比较笨:将英文数字看成字符串存到数组里,遇到加号/等号停止,达到数字切割的目的。比较好理解。
(0616)定义-输入-定义(×)定义-定义-输入(√)
0133代码:
#include<stdio.h>
#include<string.h>
struct candidate
{char name[20];char num[10005];
};
struct candidate ca[1005];
int main()
{int i,j,t,n;struct candidate temp;scanf("%d",&n);for(i=0;i<n;i++){scanf("%s %s",ca[i].name,ca[i].num);}for(i=0;i<n;i++){t=i;for(j=i+1;j<n;j++){if(strlen(ca[t].num)<strlen(ca[j].num))t=j;if(strlen(ca[t].num)==strlen(ca[j].num)){if(strcmp(ca[j].num,ca[t].num)>0)t=j;if(strcmp(ca[j].num,ca[t].num)==0 && strcmp(ca[j].name,ca[t].name)<0)t=j;}}temp=ca[i];ca[i]=ca[t];ca[t]=temp;}for(i=0;i<n;i++){printf("%s\n",ca[i].name);}return 0;
}
tips: 1.struct candidate ca[1005];一行需要放在int main外,否则会因为空间不够而在输入之前便无法运行.int main里结构体数组比一般数组所能包容的量小. 2.由于水帖数长度(数字长度)可能有10000那么长,所以不能用long long int之类的,lld最大十九位,long最大十位,相比之下还是太小.于是,便用数组来保存每一位数(没办法所以要用字符数组了).因此用#include<string.h>的一些函数来比较水帖数多少更加方便.
3.对于结构体ca[i]与ca[t]内数组的交换,如果用strcpy函数将两个数组分别交换,strcpy会条件难以实现,导致编译的时候出现error而无法运行.最好的办法是定义一个struct candidate temp;然后就可以直接交换啦,而且还会很准确.
还是学渣一枚,不过还是加油咯。很感谢wubo给我讲解很多,枫林也帮忙了,还有每天说晚安的,十一点四十催我碎觉的。真的晚,但心安;晚安。
移自本人qq空间
written by Sneexy
swust oj代码+解析0086/0160/0489/1175/1181/0288/0287/0616/0276/1158,0133相关推荐
- swust oj代码+解析_1165,0284,0074,0042,1171,0026,0189,0078,0046,0077,0209,0129
swust oj 1165,0284(int a[n]\数字根),0074,0042,1171(矩阵相乘 输出对齐),0026/0189,0078(计算生日是星期几),0046,0077(计算员工周工 ...
- SWUST OJ题目解析(C语言):160促销计算
160:促销计算 题目描述 某百货公司为了促销,采用购物打折的优惠方法,每位顾客一次购物:在1000元以上者,按9.5折优惠:在2000以上者,按9折优惠:在3000以上者,按8.5折优惠:在5000 ...
- [Swust OJ 404]--最小代价树(动态规划)
题目链接:http://acm.swust.edu.cn/problem/code/745255/ Time limit(ms): 1000 Memory limit(kb): 65535 Descr ...
- 【Java实现链表操作】 万字肝爆 !链表的图文解析(包含链表OJ练习解析)
目录指引: 前言: 链表的概念及结构 单链表的实现 一.实现链表的函数操作 1.实现链表的打印函数 2.实现得到单链表的长度函数 3.查找是否包含关键字key是否在单链表当中 4.链表头插法 5.链表 ...
- SWUST OJ#978 #979 #980 二叉树的遍历
目录 深度优先遍历 输出利用先序遍历创建的二叉树的前序遍历序列 思路 代码 #978 输出利用先序遍历创建的二叉树的中序遍历序列 题目 思路 代码 #979 输出利用先序遍历创建的二叉树的后序遍历序列 ...
- matrix_multiply代码解析
matrix_multiply代码解析 关于matrix_multiply 程序执行代码里两个矩阵的乘法,并将相乘结果打印在屏幕上. 示例的主要目的是展现怎么实现一个自定义CPU计算任务. 参考:ht ...
- CornerNet代码解析——损失函数
CornerNet代码解析--损失函数 文章目录 CornerNet代码解析--损失函数 前言 总体损失 1.Heatmap的损失 2.Embedding的损失 3.Offset的损失 前言 今天要解 ...
- 视觉SLAM开源算法ORB-SLAM3 原理与代码解析
来源:深蓝学院,文稿整理者:何常鑫,审核&修改:刘国庆 本文总结于上交感知与导航研究所科研助理--刘国庆关于[视觉SLAM开源算法ORB-SLAM3 原理与代码解析]的公开课. ORB-SLA ...
- java获取object属性值_java反射获取一个object属性值代码解析
有些时候你明明知道这个object里面是什么,但是因为种种原因,你不能将它转化成一个对象,只是想单纯地提取出这个object里的一些东西,这个时候就需要用反射了. 假如你这个类是这样的: privat ...
最新文章
- JS根据两点的经纬度坐标得到驾车行驶距离
- rhel 5 检测软件awstats,cacti,ntop搭建
- PHP 5.6 开启CURL HTTPS 类型
- 计算机网络原理第二章笔记,计算机网络原理笔记 第三章 数据链路层(一)
- QPainter函数setClipRect
- 关于PHP SESSION
- ORACLE数据库的模式对象的管理与维护
- 反射在工厂模式中的使用
- 计算机考研英语北邮,北京邮电大学计算机考研复试经验
- C语言实现二路归并排序
- CodeForces - 1538G Gift Set - ( 二分 )
- java caller_【JavaScript】callee 与 caller
- 让你快速掌握技巧,新手怎么做自媒体?分享6点干货知识
- cv2.RETR_TREE输入参数
- Android7.0的适配
- ASP最简单的连接MySql数据库详细教程
- 流形上从环境空间到隐层空间是压缩的一个过程,香农极限是否是流形表示的另一个方面?
- Visual Studio环境编译和使用grpc框架
- scanf(),getchar(),gets()进一步理解
- 几乎涵盖了近半年90%的Java面试题,可以肝起来了
热门文章
- 修复LandSat7 ETM SLC+off缺失条带
- android设备唯一标识符_安卓设备唯一标识,用什么来获取》?
- 学界 | 斯坦福提出高速视频目标检测系统NoScope:速度超现有CNN上千倍
- 小红书引流教程哪里购买?防止上当受骗
- 小米手机续航尿崩?其实只要注意这5个功能,一天一充很轻松
- oracle9.2.0.7,高手来看:从oracle9.2.0.1升级到9.2.0.7后的问题
- alter在MySQL中是什么意思_MySql之ALTER命令用法详细解读(转)
- 个人笔记-批处理之系统驱动自动安装导出操作篇
- 爬虫职业是灰色产业么?违法犯罪么?
- ZXing是一个开源Java类库用于解析多种格式的条形码和二维码