1585七个小矮人(代码简化)
作者:互联网
描述
白雪公主经常为七个小矮人讲故事,为了方便,她为这七个小矮人安排了学号,学号分别是 1 至 7 号。有一次,白雪公主又邀请七个小矮人来听她讲故事,但是只来了六个小矮人,那 么缺席的那个小矮人是谁呢?
输入
一行,6 个学号,空格分开,表示来听故事的六个小矮人的学号。
输出
没来听故事的小矮人的学号。
输入样例 1
3 5 2 1 7 4
输出样例 1
6
输入样例 2
7 3 2 4 1 6
输出样例 2
5
这是其实一道很简单的题目,我第一次做这道题时最开始是用数组来计数。
int a[7]={0};
循环输入,输入6号就a[6-1]++;最后在循环找出为0的元素,即没来的小矮人。
代码如下:
1 #include<iostream> 2 using namespace std; 3 int main() 4 { 5 int a[7]={0},n; 6 for(int i=1;i<=6;i++) 7 { 8 cin>>n; 9 a[n-1]++; 10 } 11 for(int i=0;i<=6;i++) 12 { 13 if(a[i]==0) cout<<i+1; 14 } 15 return 0; 16 }
做完之后才发现,这道题用数组其实是大炮打蚊子了。
可以改进代码,累加输入的6个数,然后用1+2+3+4…+7=28,减去累加的数,就是没有输入的那个数。
代码如下:
1 #include<iostream> 2 using namespace std; 3 int main() 4 { 5 int s=0,a; 6 for(int i=1;i<=6;i++) 7 { 8 cin>>a; 9 s+=a; 10 } 11 cout<<28-s; 12 return 0; 13 }
标签:七个,学号,int,样例,1585,小矮人,输入 来源: https://www.cnblogs.com/cyk20081108/p/13974463.html