华为机试(C语言开发)
1、某商店规定:三个空汽水瓶可以换一瓶汽水,允许向老板借空汽水瓶(但是必须要归还)。
小张手上有n个空汽水瓶,她想知道自己最多可以喝到多少瓶汽水。
数据范围:输入的正整数满足 1≤n≤10
分析: 当n=0,输出0 当n=1,输出0 当n=2,输出1 当n=3,输出1 当n=4,输出2 当n=5,输出2 当n=6,输出3 当n=7,输出3 ... 看出来没宝贝们?n/2啊!
#include <stdio.h> int main() { int n=0; while(scanf("%d",&n)&& n!=0) { printf("%d ",n/2); } return 0; }
2、明明生成了N个1到500之间的随机整数。请你删去其中重复的数字,即相同的数字只保留一个,把其余相同的数去掉,然后再把这些数从小到大排序,按照排好的顺序输出。
如果使用C++的话,这里面有一个set()函数特别好用,因为这个set()本身具有排序并且不允许重复的功能。所以用到这道题特别合适。
#include <iostream> #include <set> using namespace std; int main() { int n=0; scanf("%d",&n); set<int>num; while(n--) { int soc; scanf("%d",&soc); num.insert(soc); } for(int i:num) { printf("%d ",i); } return 0; }
3、写出一个程序,接受一个十六进制的数,输出该数值的十进制表示。
#include <iostream> using namespace std; int main() { int num; while(cin>>hex>>num) { cout<<num<<endl; } return 0; }
上一篇:
Java基础知识总结(2021版)