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天, ...
随机推荐
- springmvc register过程
福建SEO:首先在AbstractHandlerMethodMapping中,在afterPropertiesSet这个钩子函数中,先初始化handlerMethods. 在detectHandler ...
- Android 自定义dialog类
首先定制style样式 styles.xml 加入自定义样式 <style name="CustomLoadingDialog"> <item name=&quo ...
- 900B. Position in Fraction#分数位置(模拟)
题目出处:http://codeforces.com/problemset/problem/900/B 题目大意:找到一个数字在小数部分中第一次出现的位置 #include<iostream&g ...
- [ZJOI2019]开关(生成函数+背包DP)
注:以下p[i]均表示概率 设F(x)为按i次开关后到达终止状态方案数的EGF,显然F(x)=π(ep[i]x/p+(-1)s[i]e-p[i]x/p)/2,然而方案包含一些多次到达合法方案的状态,需 ...
- 领域建模-模型验证与面向资源的API设计
使用 UMLet 建模 1. 使用类图,分别对 Asg_RH 文档中 Make Reservation 用例以及 Payment 用例开展领域建模.然后,根据上述模型,给出建议的数据表以及主要字段,特 ...
- LeetCode No.94,95,96
No.94 InorderTraversal 二叉树的中序遍历 题目 给定一个二叉树,返回它的中序 遍历. 示例 输入: [1,null,2,3] 1 \ 2 / 3 输出: [1,3,2] 进阶:递 ...
- 常见字体图标库——font-awesome
1.简介 FontAwesome一种带有网页功能的象形文字语言,并收集在一个集合里.字库中有675个图标,只支持英文搜索,中文地址:http://www.fontawesome.com.cn/ 2.使 ...
- Fire-Fighting Hero(多源最短路和单源最短路)
题:https://nanti.jisuanke.com/t/41349 分析:对于hero来说,走单源最短路,然后遍历dis数组中的最大值即可找到,对于消防员来说,走多源最短路,只需要建个超级起点连 ...
- 解决scoped 下confirm 样式问题
- SCI|EI|ISTP|万方|istic|NSTL|CASTD|CNKI|nlc|ethesys|CALIS|CETD|proquest|NDLTD|中国科学院学位论文检索系统|学位论文
BD AC D 三大检索指的是:SCI(科学引文索引 ).EI(工程索引 ).ISTP(科技会议录索引 ) 即Science Citation Index.Engineering Index.Conf ...