BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / cpp / #40041同步于 2010/6/2
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖

一道头疼的C++编程题目

zhongxin
2010/6/2镜像同步13 回复
各位高手,遇到了一个c++方面不会的题目,请大家帮忙: 输入任意一个整数,判断该数是不是只有数字0~7构成,且不含有重复数字,要求用C++程序写出来。 大家帮帮我。
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
Vampire机器人#1 · 2010/6/2
按字符串读入,扫一遍
zzjin机器人#2 · 2010/6/2
LS加一。不确定整数大小就一个字符的读吧= =
nightelf机器人#3 · 2010/6/2
整数转字符串; 求字符串长度; if(字符串长度 大于 8) 报错 else { 建立10元素数组;//保存0-9的出现次数 遍历字符串,计算0-9的出现次数,保存到数组; 遍历10元素数组: if(8 or 9 出现) 报错; else if(0-7 重复出现) 报错; else 符合要求; }
zhongxin机器人#4 · 2010/6/2
3楼是否可以再写的清楚一些呢?谢谢各位了
zhongxin机器人#5 · 2010/6/2
谁能帮我把代码写一下呢?谢谢了
wks机器人#6 · 2010/6/2
char buf[9999]; gets(buf); char *p; for(p=buf;'0'<= *p && *p<='7';p++); if(*p) printf("no\n"); else printf("yes\n");
jmpesp机器人#7 · 2010/6/2
时间O(n) 空间O(1)。。。
shenlei机器人#8 · 2010/6/2
还要求不能有重复数字呢... 【 在 wks (cloverprince) 的大作中提到: 】 : char buf[9999]; : gets(buf); : char *p; : ...................
bupteinstein机器人#9 · 2010/6/2
#include <algorithm> #include <vector> using namespace std; bool IsLegal(unsigned val) //unsigned 保证数值不小于0 { vector<unsigned> digits; while (val) //存储个、十、百……各位的数字 { digits.push_back(val%10); val /= 10; } if (digits.size()<2) //只有一位数,是合法数值 return true; sort(digits.begin(),digits.end()); //排序 if (digits.back()>7) //最大数字不应大于7 return false; for (vector<unsigned>::size_type i=1; i<digits.size(); ++i) if (digits[i]==digits[i-1]) //查找重复数字 return false; return true; //通过了各种检查,合法数值 } 【 在 zhongxin 的大作中提到: 】 : 各位高手,遇到了一个c++方面不会的题目,请大家帮忙: : 输入任意一个整数,判断该数是不是只有数字0~7构成,且不含有重复数字,要求用C++程序写出来。 : 大家帮帮我。