时间: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天,聊聊输入输出问题的更多相关文章

  1. UITableView(自定义cell)试水心得

    初次试水自定义cell的UITableView 实现目标      最终实现结果   界面复原度:98% 未能完全复刻的地方:下半部分的tableview与头部的控件间距上的误差 原因:在做table ...

  2. POJ 2502 - Subway Dijkstra堆优化试水

    做这道题的动机就是想练习一下堆的应用,顺便补一下好久没看的图论算法. Dijkstra算法概述 //从0出发的单源最短路 dis[][] = {INF} ReadMap(dis); for i = 0 ...

  3. CSS3每日一练之内容处理-嵌套编号

    出处:http://www.w3cfuns.com/thread-5592229-1-17.html 1.大标题一   1.子标题   2.子标题   3.子标题2.大标题二   1.子标题   2. ...

  4. CSS3每日一练之选择器-结构性伪类选择器

    <!DOCTYPE HTML> <html> <head> <meta charset="gb2312"> <title> ...

  5. HTML5每日一练之progress标签的应用

    progress标签:从名字上来看,估计大家也能猜到这个标签是什么标签了,没错,他是一个进度条.在HTML5中我们终于可以不用模拟了. <progress id="W3Cfuns_pr ...

  6. HTML5每日一练之figure新标签的应用

    igure元素是一种元素的组合,可带有标题(可选).figure标签用来表示网页上一块独立的内容,将其从网页上移除后不会对网页上的其他内容产生影响.figure所表示的内容可以是图片.统计图或代码示例 ...

  7. HTML5每日一练之details展开收缩标签的应用

    details标签的出现,为我们带来了更好的用户体验,不必为这种收缩展开的效果再编写JS来实现.注:目前仅Chrome支持此标签. details有一个新增加的子标签——summary,当鼠标点击su ...

  8. 大众点评试水O2O新模式:实体店试穿,扫描二维码付款 现场取货

    在餐饮美食行业取得不错的成绩之后,大众点评将触角延伸到了线下的传统商铺,开始涉足线下商品的 O2O 团购.和传统的线上下单,线下消费的 O2O 模式不同.大众点评的 O2O 团购用户,可在店内试穿后通 ...

  9. 每日一小练——Eratosthenes 筛选法

    上得厅堂.下得厨房,写得代码.翻得围墙,欢迎来到睿不可挡的每日一小练! 题目:Eratosthenes筛选法 内容: 求质数是一个非常普遍的问题,通常不外乎用数去除.除到不尽时,给定的数就是质数.可是 ...

随机推荐

  1. 2019年4月zstu月赛A: 我不会做

    问题 A: 我不会做 时间限制: 1 Sec  内存限制: 128 MB 题目描述 众所周知,duxing201606就是plw. 然而已经9102年了,plw仍旧没有npy.plw非常难过,于是他打 ...

  2. RXJS 实例操作符

    先来了解几个新名词: Observable : 可观察对象,是一组值或事件的集合 Observer : 观察者,回调函数集合 Subscription :Observable动作执行者 Operato ...

  3. Oracle创建用户角色

    正在维护一个CS结构的应用,每次创建应用的用户时都需要创建对应的数据库schema,并且需要赋予其相应的对象权限和角色.操作很不方便,所以专门创建了一个角色,过程如下: 1.创建角色 SQL> ...

  4. 代理IP

    代理IP 一.获取代理IP 二.使用代理IP 1.requests 2. selenium 2.1 selenium+chrome 2.2 selenium+Firefox 2.3 selenium+ ...

  5. golang 修改数组中结构体对象的值的坑

    对对象数组逐个修改元素属性时候没有成功,代码如下: for _, configure := range configures { configure.Price = specPriceMap[conf ...

  6. websocket 2 rest api

    需要开发一个prometheus 的exporter 使用jmespath 获取对应metrics的数据,并进行转换处理,但是因为那个服务 提供的接口是通过websoket 的实时api,所以基于no ...

  7. [IDEA]IDEA设置注释模板

    IDEA的注释模板有类注释模板和方法注释模板两种,下面分别介绍: 一.类注释模板 菜单路径:File->Settings->Editor->File and Code Templat ...

  8. my sql无法删除数据库

    mysql有时候会无法删除数据库,可以通过 1.select @@datadir 查询到文件目录 'C:\\ProgramData\\MySQL\\MySQL Server 5.7\\Data\\' ...

  9. Idea debug时报错:Command line is too long

    问题:写单元测试,debug时,报错 解决方法: 在项目/.idea/workspace.xml文件中添加一行代码如下 <component name="PropertiesCompo ...

  10. APS技术中的多目标规划问题

    在进行APS(高级计划与排程)系统开发时,绝大多数情况下是需要考虑多目标的.但面对多目标问题进行规划求解时,我们往往极容易因处理方法不当,而影响输出结果,令结果与用户期望产生较大差别.事实上很多时候用 ...