OJ每日一练试水第1天,聊聊输入输出问题
时间:2019.4.26
@
先借鉴一下ACM的输入格式
OJ题中不少输入的时候都是不指定输入多少
同时要指定输入结束的标志
详情可以看这里
https://wenku.baidu.com/view/a7bf96616ad97f192279168884868762cbaebb60.html
更新一下之前博主的大意 导致下面的图片错误,不过你实际运行肯定是没有错误的(刚又测试了一下)
错误我留着 长记性
void BubbleSort(int a[],int len){
int temp;
for(int i=0;i<len-1;i++){
for(int j=i;j<len;j++){
if(a[j]>a[j+1]){
temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
}
}
}
多组输入

#include<stdio.h>
int main()
{
int n, i;
while (scanf ("%d", &n)!=EOF){
int a[41];
float b[41];
float sum = 0.0, sum1 = 0.0;
for (i = 0; i < n; ++i){
scanf ("%d%f",&a[i], &b[i]);
sum += a[i]*b[i];
sum1 += a[i];
}
printf ("%.2f\n", sum/sum1);
}
return 0;
}
前言
冒泡排序核心代码
void BubbleSort3(int a[],int n){
int t,i,j;
//冒泡排序的核心部分
for(i=0;i<n-1;i++) //n个数排序,只用进行n-1趟
{
for(j=0;j<n-i;j++) //从第1位开始比较直到最后一个尚?归位的数,想一想为什么到n-i就可以了。
{
if(a[j]>a[j+1]) //比较大小并交换
{ t=a[j]; a[j]=a[j+1]; a[j+1]=t; }
}
}
}
第一题 多组冒泡排序
(难度2颗星版本)
要求输入
2
5
5 4 12 32 16
5
10 9 8 24 12
输出
4 5 12 16 32
8 9 10 12 24
#include<stdio.h>
#define Max 100
void BubbleSort(int a[],int len);
int main()
{
int n, i;
scanf("%d",&n);
while(n--){
int arr[Max];
int len=0;
int count;
scanf("%d",&count);
while(count--){
scanf("%d",&arr[len++]);
}
BubbleSort(arr,len);
for(i=0;i<len;i++){
printf("%d ",arr[i]);
}
printf("\n");
}
return 0;
}
void BubbleSort(int a[],int len){
int temp;
for(int i=0;i<len-1;i++){
for(int j=0;j<len-i;j++){
if(a[j]>a[j+1]){
temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
}
}
}
成功输出

(难度3颗星版本)
每组数以0结尾(0位结束标志)
输入
2
5 4 12 32 16 0
10 9 8 24 12 0
输出
4 5 12 16 32
8 9 10 12 24
#include<stdio.h>
#define Max 100
void BubbleSort2(int *p,int len);
int main()
{
int n, i;
scanf("%d",&n);
while(n--){
int arr[Max];
int len=0;
int a;
while(scanf("%d",&a)&&a){
arr[len++]=a;
}
BubbleSort2(arr,len);
for(i=0;i<len;i++){
printf("%d ",arr[i]);
}
printf("\n");
}
return 0;
}
void BubbleSort2(int *p,int len){
int temp;
for(int i=0;i<len-1;i++){
for(int j=0;j<len-i;j++){
if(*(p+j)>*(p+j+1)){
temp=*(p+j);
*(p+j)=*(p+j+1);
*(p+j+1)=temp;
}
}
}
}
成功输出

(难度4颗星版本)
输入
5 4 12 32 16 0
10 9 8 24 12 0
0
输出
4 5 12 16 32
8 9 10 12 24
#include<stdio.h>
#define Max 100
void BubbleSort2(int *p,int len);
int main()
{
int n,i;
while(1){
scanf("%d",&n);
if(n==0){
break;
}else{
int arr[Max];
arr[0]=n;
int len=1;
int a;
while(scanf("%d",&a)&&a){
arr[len++]=a;
}
BubbleSort2(arr,len);
for(i=0;i<len;i++){
printf("%d ",arr[i]);
}
printf("\n");
}
}
return 0;
}
void BubbleSort2(int *p,int len){
int temp;
for(int i=0;i<len-1;i++){
for(int j=0;j<len-i;j++){
if(*(p+j)>*(p+j+1)){
temp=*(p+j);
*(p+j)=*(p+j+1);
*(p+j+1)=temp;
}
}
}
}

scanf返回值
scanf("%d%d",&a,&b);
1.如果a和b都被成功读入,则scanf的返回值为2
2.如果只有a被成功读入,那么返回值为1
3.如果a和b都未被成功读入,那么返回值就为0
4.如果遇到错误或遇到end of file,返回值为EOF
OJ每日一练试水第1天,聊聊输入输出问题的更多相关文章
- UITableView(自定义cell)试水心得
初次试水自定义cell的UITableView 实现目标 最终实现结果 界面复原度:98% 未能完全复刻的地方:下半部分的tableview与头部的控件间距上的误差 原因:在做table ...
- POJ 2502 - Subway Dijkstra堆优化试水
做这道题的动机就是想练习一下堆的应用,顺便补一下好久没看的图论算法. Dijkstra算法概述 //从0出发的单源最短路 dis[][] = {INF} ReadMap(dis); for i = 0 ...
- CSS3每日一练之内容处理-嵌套编号
出处:http://www.w3cfuns.com/thread-5592229-1-17.html 1.大标题一 1.子标题 2.子标题 3.子标题2.大标题二 1.子标题 2. ...
- CSS3每日一练之选择器-结构性伪类选择器
<!DOCTYPE HTML> <html> <head> <meta charset="gb2312"> <title> ...
- HTML5每日一练之progress标签的应用
progress标签:从名字上来看,估计大家也能猜到这个标签是什么标签了,没错,他是一个进度条.在HTML5中我们终于可以不用模拟了. <progress id="W3Cfuns_pr ...
- HTML5每日一练之figure新标签的应用
igure元素是一种元素的组合,可带有标题(可选).figure标签用来表示网页上一块独立的内容,将其从网页上移除后不会对网页上的其他内容产生影响.figure所表示的内容可以是图片.统计图或代码示例 ...
- HTML5每日一练之details展开收缩标签的应用
details标签的出现,为我们带来了更好的用户体验,不必为这种收缩展开的效果再编写JS来实现.注:目前仅Chrome支持此标签. details有一个新增加的子标签——summary,当鼠标点击su ...
- 大众点评试水O2O新模式:实体店试穿,扫描二维码付款 现场取货
在餐饮美食行业取得不错的成绩之后,大众点评将触角延伸到了线下的传统商铺,开始涉足线下商品的 O2O 团购.和传统的线上下单,线下消费的 O2O 模式不同.大众点评的 O2O 团购用户,可在店内试穿后通 ...
- 每日一小练——Eratosthenes 筛选法
上得厅堂.下得厨房,写得代码.翻得围墙,欢迎来到睿不可挡的每日一小练! 题目:Eratosthenes筛选法 内容: 求质数是一个非常普遍的问题,通常不外乎用数去除.除到不尽时,给定的数就是质数.可是 ...
随机推荐
- Spark菜鸟记录
1.RDD[(k,v)] join()优化,join之前会对两个RDD的key做hash,通过网络把相同hash值的数据传到同一个节点,因此对多次join的RDD 做预分区与持久化可提高效率. map ...
- python2.7安装django1.8后提示django-admin.py命令不存在
ln -s /usr/local/Python2.7/bin/django-admin.py /usr/local/bin/django-admin.py 将python命令目录下的django-ad ...
- Linux 连接mysql
连接MYSQL: 格式: mysql -h主机地址 -u用户名 -p用户密码 1.例1:连接到本机上的MYSQL 找到mysql的安装目录,一般可以直接键入命令mysql -uroot -p,回车后提 ...
- python统计目录和目录下的文件,并写入excel表
运营那边提出需求,有些媒体文件需要统计下 目录结构大概是这样的 每个目录下面都有很多文件,目录下面没子目录 我这里是模拟下创建的目录和文件,和运营那边说的目录结构都是一致的 想最终统计结果如下格式 我 ...
- flutter Row 垂直或水平放置多个widget
使用行(Row)水平排列widget,使用列(Column)垂直排列widget.在行或列中嵌套行或列实现复杂的布局.如下图所示: 此布局按行排列.该行包含两个子布局,左侧一列和右侧的图片 对于行(R ...
- javascript中的立即执行函数的原理
形如 ((function Test(a) { //code here... })('Hello')); 被称作立即执行函数. 首先需要了解的是,这并不是一种hack,这是javascript的基本语 ...
- Django 00-socket、wsgi及初始django学习心得
HTTP基本原理1.http简述:http协议永远都是客户端发起请求,服务端回送请求.客户端和服务端本质上是一个socket客户端和服务端,http协议可以说是基于socket的再上层封装2.http ...
- gdb问题value optimized out
gdb正常print一个变量的值: 但如果gdb调试程序的时候打印变量值会出现<value optimized out> 情况: 可以在gcc编译的时候加上 -O0参数项,意思是不进行编译 ...
- Faster-RCNN理解
一.Faster-RCNN基本结构 该网络结构大致分为三个部分:卷积层得到高位图像特征feature maps.Region Proposal Network得到候选边框.classifier识别出物 ...
- FPGA例化ROM存储表格
FPGA例化ROM存储表格 1.选择ROM 2.填写数据位宽和深度 3.加载ROM初始化信息,coe文件