教育宝
请输入机构名称或课程名称

考研英语每日一练

学习经验 考研英语 https://www.jiaoyubao.cn/ | 手机站

2019年11月12日 21:42:52

考研英语就要来临,小编盘点了以下知识点及练习题分享,希望对大家有所帮助,预祝大家高分通过!

  考研英语就要来临,小编盘点了以下知识点及练习题分享,希望对大家有所帮助,预祝大家高分通过!
  Calculate a b and output the sum in standard format – that is, the digits must be separated into groups of three by commas (unless there are less than four digits). Input Specification: Each input file contains one test case. Each case contains a pair of integers a and b where 10^6 ≤ a, b ≤ 10 ^6 . The numbers are separated by a space.
  Output Specification: For each test case, you should output the sum ofa and b in one line. The sum must be written in the standard format. Sample Input: -1000000^9 Sample Output: -999,991
  思路:这道题属于基础题,难度不高,但可以考虑怎么用更加高效的方法实现,目前想到的是很基础的方法,即将两数相加以后,将结果的每一位分步存进一个数组中,在按原本的顺序打印出来,并在合适的位置加上逗号以及正负号。
  这道题目首先一个问题就是,判断的过程肯定得是从低位开始,这是因为我们不知道这个数究竟有几位,当然也可以用一个循环先判断结果的位数,我这里采用的是从低位到高位进行判断,从低到高将数存进数组,需要注意的是,数组里的数的顺序和将要输出的顺序是相反的,因此需要从后往前打印,代码如下:

  include int abs(int i){ if(i<0) i = -i; return i; } int main(){ int a, b; int c; int temp[10]; int i; int j = 1; scanf("%d", &a); scanf("%d", &b); /*if(b<-1000000 || b>1000000 || a<-1000000 || a>1000000) return -1;*/ c = a b; for(i=0; i<10;i ){ if(j%4 == 0) temp[i] = 10; else{ temp[i] = c % 10; c /= 10; } j ; if(c == 0) break; } if(a b < 0){ printf("-"); } for(; i>=0;i--){ if(temp[i] == 10) printf(","); else printf("%d", abs(temp[i])); } return 0; }至于逗号,我是用的是在需要加逗号的地方,给的数组赋值为10,输出的时候,遇到10就打印逗号就行。整个程序时间复杂度为0(n)。
  

以上就是教育宝头条带来的考研英语每日一练详细介绍,想要查看更多考研英语资讯,敬请关注教育宝头条,也可以加我微信18560125702,我会解答你的学习问题。返回教育宝头条

考研英语技巧

分享到:

考研英语真题分享

上一篇

考研英语真题分享

考研英语真题模板分享

下一篇

考研英语真题模板分享

【免责声明】本文仅代表作者本人观点,与教育宝无关。教育宝对文中陈述、观点判断保持中立,不对所包含内容的准确性、可靠性或完整性提供任何保证。请读者仅作参考,特此声明!当您认为您的知识产权或其他合法权益被侵犯,或者页面信息有误需要纠正或者删除,请联系客服或致电400-601-2788。
推荐资讯