HDU——算法练习1000 1089-1096
全篇都是讲数字之间的运算的:
由上自下难度逐渐升级 ,没耐心者建议一拉到底:
1000:
搜到的答案1000.1:
#include <stdio.h>
int main()
{
int a,b;
while(scanf("%d %d",&a,&b)!=EOF)
{
printf("%d\n",a+b);
}
return ;
}
我的代码1000.2:
#include<stdio.h>
#include <stdlib.h>
int main()
{
int a=,b=;
int sum = ;
scanf_s("%d %d", &a,&b);
sum = a + b;
printf("%d", sum);
return ;
}
小结:可以把自己的代码简化 ,如1000.2中的sum求和可以省略直接用printf进行输出。
1089:
Your task is to Calculate a + b.
Input
The input will consist of a series of pairs of integers a and b, separated by a space, one pair of integers per line.
搜的代码1089.1:
#include<stdio.h>
int main()
{
int a, b;
while (scanf_s("%d %d", &a, &b) != EOF) // 输入结束时,scanf函数返回值为EOF,即没有数据输入时则退出while循环
printf("%d\n", a + b);
return ; //返回值为0
}
我的代码1089.2:
#include<stdio.h>
#include <stdlib.h>
int main()
{
int a=,b=,c=,d=;
int sum = ,sumo=;
scanf_s("%d %d", &a,&b);
getchar();
scanf_s("%d %d", &c, &d);
sum = a + b;
sumo = c + d;
printf("%d\n%d", sum,sumo);
return ;
}
小结:这里很蠢:我以为题目的意思是连续输入两行,然后连续输出结果,有了代码1089.2.
但是实际上output:For each pair of input integers a and b you should output the sum of a and b in one line, and with one line of output for each line in input.的意思是,每输入一行后面就要接一行output,审题不明确。
1090:
Your task is to Calculate a + b.
搜的代码:
#include<stdio.h> int main(void)
{
int a=,b=,N=,i=;
scanf("%d\n",&N);
while(i<N)
{
scanf("%d%d",&a,&b);
printf("%d\n",a+b);
i++;
}
return ;
}
我的代码:
#include<stdio.h>
int main()
{
int n,a, b;
scanf_s("%d",&n);
while (scanf_s("%d %d", &a, &b) != EOF) // 输入结束时,scanf函数返回值为EOF,即没有数据输入时则退出while循环
printf("%d\n", a + b);
return ; //返回值为0
}
小结:变式多了一个在最开始加一个式子总数的输入,1090.2没有使用到这个总数,而1090.1使用到了这个总数,用while(N--)控制。。
1091:
搜到的代码1091.1:
#include<stdio.h>
int main()
{
int a, b;
while (scanf_s("%d%d", &a, &b) == )
{
if (a == && b == ) break;
else printf("%d\n", a + b);
}
return ;
}
我的代码1091.2:
#include<stdio.h>
int main()
{
int a, b;
int i = ;
while (i != -)
{
scanf_s("%d%d", &a, &b);
if (a == && b == )
return ;
else
printf("%d\n", a + b);
i++; }
}
小结:这个变式我从代码1091.1发现可以通过scanf(***)==n来控制每一组元素的个数,如果scanf设置为n,那么vs会按照输入端输入的值依次选取n个值进行操作(比如:设置n=2,即使键盘输入第一行三个数a1,a2,a3,回车运行,得到的答案依旧是对a1,a2进行操作的结果,接着在输入一行a4,a5,那么结果输出的是对a3,a4操作的结果),有助于进行严格的操作。当然如果不进行设置n值,scanf(****),那么vs会操作每一行相应的元素,不会涉及到上一行。
1092:
搜的代码1092.1:
#include<stdio.h>
int main()
{
int n,m,i,sum;
while(scanf("%d",&n)!=EOF)
{
if(n==)
break;
sum=;
for(i=;i<n;i++)
{
scanf("%d",&m);
sum+=m;
}
printf("%d\n",sum);
}
return ;
}
以输入0判断结尾
我的代码1092.2:
小结:我发现循环这一部分用while表达式:“while(n--)”做判断句挺好的,如果n自减到0退出循环,不然就继续循环,相当于:“for(i=n;i>0;i--)”
1093:
搜的代码1093.1:
#include <stdio.h>
#include <stdlib.h>
#define max 100
int main()
{
int x, i, j, n;
scanf_s("%d", &x);
for (j = ; j < x; j++)
{
scanf_s("%d", &n);
int s = , a[max];
for (i = ; i <= n; i++)
scanf_s("%d", &a[i]); for (i = ; i <= n; i++)
s = s + a[i];
printf("%d\n", s);
if (j != x - )printf("\n");
}
return ;
}
我的代码1093.2:
#include<stdio.h>
int main()
{
int n,m;
int a, sum=;
scanf_s("%d", &m);
while (m--)
{
scanf_s("%d", &n);
{
while (n--)
{
scanf_s("%d", &a);
sum += a;
}
printf("%d", sum);
}
}
return ;
}
小结:1093.1使用的数组做的,嗯可能是vs版本的问题吧(我用的2017) ,搜到的的代码都会有报错,然后加了个#define max 100,然后能正常运行。
1094:
搜的代码:
我的代码:
小结:忘记了多行输入的判断方法了:scanf_s("***")!=EOF,然后就扔下了一天。。。说一下EOF:
"EOF 是end of file的缩写 。
在用函数读入文件数据的时候,函数总会返回一个状态,是读取成功还是失败,那么这个状态怎么表示呢,所以就约定俗成定义一个标识符表示这个状态,就有了EOF。
scanf函数只有在第一个参数为NULL(空指针)的情况下,才可能返回EOF,否则,返回成功格式化并赋值的参数个数(>=0)。
所以,这个循环,将是一个死循环。"
我太喜欢这个循环了
1095:
我的代码:
#include<stdio.h>
int main()
{
int i,a,b,sum=;
while (scanf_s("%d %d", &a,&b) != EOF)
{
printf("%d\n\n",a+b);
}
return ;
}
多行输入,要求按行输出,并带有空行
1096:
Your task is to calculate the sum of some integers.
我的代码:
#include<stdio.h>
int main()
{
int i,n,m;
scanf_s("%d", &n);
while(n--)
{
scanf_s("%d", &i);
int sum = ;
while (i--)
{
scanf_s("%d",&m);
sum += m;
}
printf("%d\n\n", sum);
}
return ;
}
全篇总结:
不足 :计划上应该是两天练完的,但是我搞了四天,属实是懒
学到了:1.我能灵活的使用循环语句,尤其是while(n--),真好用,推荐;
2.让文段循环下去的EOF的使用
3.不至于太生疏的使用数组,写入数据和读出数据
最后,武汉加油!白衣天使们加油!
HDU——算法练习1000 1089-1096的更多相关文章
- C++ 的简单输出输入 HDU 1089~1096
A+B for Input-Output Practice (I) Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K ...
- 转载:hdu 题目分类 (侵删)
转载:from http://blog.csdn.net/qq_28236309/article/details/47818349 基础题:1000.1001.1004.1005.1008.1012. ...
- HDU分类
原地址:http://www.byywee.com/page/M0/S607/607452.html 总结了一下ACM STEPS的各章内容,趁便附上我的Steps题号(每人的不一样). 别的,此文首 ...
- [转] HDU 题目分类
转载来自:http://www.cppblog.com/acronix/archive/2010/09/24/127536.aspx 分类一: 基础题:1000.1001.1004.1005.1008 ...
- hdu 分类
HDU分类 http://www.cnblogs.com/ACMan/archive/2012/05/26/2519550.html#2667329 努力A完.方便自己系统A题 不断更新中...... ...
- 降维算法-PCA主成分分析
1.PCA算法介绍主成分分析(Principal Components Analysis),简称PCA,是一种数据降维技术,用于数据预处理.一般我们获取的原始数据维度都很高,比如1000个特征,在这1 ...
- 杭电acm阶段之理工大版
想參加全国软件设计大赛C/C++语言组的同学,假设前一篇<C和指针课后练习题总结>没看完的,请先看完而且依照上面的训练做完,然后做以下的训练. 传送门:http://blog.csdn.n ...
- 杭州电acm理工大舞台版
我要参加全国软件设计大赛C/C++学生语言组,前一个假设<C训练和演习,并总结手>没看完,请阅读上述并根据所作的训练,然后做下面的练习. 门户:http://blog.csdn.net/l ...
- HD ACM 水题顺序
原文传送门:http://acm.hdu.edu.cn/ 第一阶段:开始入门吧!(15天,53题) 一.输入输出练习(2天,10题) 1000.1089-1096.1001 二.简单操作:(2-4天, ...
随机推荐
- 第二个--关于led灯的代码总结
又要继续奋斗啦,不然就交白卷了: 1---自己注意,就是那个板子上有8个led灯,这个灯呢,没哟甩端口直接控制模式用573锁存器来控制的,为的是啥呢,因为你的芯片就那么几个引脚 ,你就单单把引脚拿来 ...
- 注解ImportBeanDefinitionRegistrar ImportSelector
ImportBeanDefinitionRegistrar动态注册bean https://blog.csdn.net/jiachunchun/article/details/94569246 Spr ...
- 如何在linux中运行sql文件
1.在linux中进入sql命令行 mysql -u root -p 输入密码 2.假设home下面有a.sql文件 先得use databasename,要不会报错 “No Database S ...
- Opencv笔记(二十)——直方图(二)
直方图均衡化 原理: 想象一下如果一副图像中的大多是像素点的像素值都集中在一个像素值范围之内会怎样呢?例如,如果一幅图片整体很亮,那所有的像素值应该都会很高.但是一副高质量的图像的像素值分布应该很广泛 ...
- C实现日志等级控制
#include <stdio.h> #include <stdlib.h> #include <string.h> #include <stdarg.h&g ...
- No module named 'dateutil'
pip3 install python-dateutil
- scala编程(八)——函数和闭包
当程序变得庞大时,你需要一些方法把它们分割成更小的,更易管理的片段.为了分割控制流,Scala 提供了所有有经验的程序员都熟悉的方式:把代码分割成函数.实际上,Scala 提供了许多 Java 中没有 ...
- java后台使用HttpServletRequest接收参数转换为model
当前端需要传图片时,后台用MultipartHttpServletRequest接收参数,request接收过来的参数有很多弊端,需要包装成自己的model就得做转化 弊端: 1.所接收的参数类型无法 ...
- Hibernate之Query.uniqueResult()结果为数值的注意事项
在日常练习中使用Query.uniqueResult()获取查询总数量,想当然的把返回结果值直接强转成Integer类型,实现运行报错,具体代码如下: 控制台错误信息如下: 返回值为Long型,使用时 ...
- 如何处理xml文件!看看这里
XML处理是开发过程中经常遇到的,PHP对其也有很丰富的支持,本文只是对其中某几种解析技术做简要说明,包括:Xml parser, SimpleXML, XMLReader, DOMDocument. ...