失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > 如何用计算机猜数字 杭电计算机复试笔试题 2道acm简单题():1.猜数字游戏

如何用计算机猜数字 杭电计算机复试笔试题 2道acm简单题():1.猜数字游戏

时间:2020-01-25 07:07:37

相关推荐

如何用计算机猜数字 杭电计算机复试笔试题 2道acm简单题():1.猜数字游戏

//第一题是猜数字的游戏。

//题目:随即产生一个3位的正整数,让你进行猜数字,

//如果猜小了,输出:“猜小了,请继续”。

//如果猜大了,输出:“猜大了,请继续”。

//如果猜对了。输出:“恭喜你,猜对了”。

//不过最多只能猜10次,如果猜了10次还没有猜对,就退出程序,输出:“Bye Bye”。

/*总结:此题最主要的地方就是产生随机数的方法:rand() % N + A, A为起始位,N为数字的总数。例如:随机生成0~10的数字,rand()%(10-0+1)+0;生成1~10的数字:rand()%(10-1+1)+1;生成100~999的数字:rand()%(999-100+1)+100*/

#include

#include

#include

int main()

{

int r;//记录随机产生的三位数

//srand函数是随机数发生器的初始化函数。原型:void srand(unsigned int seed);

//srand和rand()配合使用产生伪随机数序列。

srand(unsigned(time(NULL)));

//rand函数在产生随机数前,需要系统提供的生成伪随机数序列的种子,rand根据这个种子的值产生一系列随机数。

r = rand() % 900 + 100;

printf("输入一个你猜的数:\n");

int n;

int cnt = 0;

while (~scanf("%d",&n))

{

if (n > r)

{

printf("猜大了,请继续\n");

}

else if (n < r)

{

printf("猜小了,请继续\n");

}

else

{

printf("恭喜你,猜对了\n");

break;//猜对退出

}

cnt++;

if (cnt==9)

{

printf("Bye Bye\n");

break;

}

}

return 0;

}

//第二题:字符串提取数字并求和

//字符串求和。编写函数 FindAndSum,输入一个字符串,把字符串中的数字作为整数进行求和,并输出结果。Sample : 输入:There are some apple.输出:0 。输入:124and 1524 输出:1648 。

#include

#include

#include

using namespace std;

int FindAndSum(string str)

{

int temp = 0, sum = 0;

for (int i = 0; i < str.length(); i++)

{

if (isdigit(str[i]))

{

//124,首先是1,逐渐乘以10直到遇到字符,乘以了100,在百位,其他位也类似

temp = temp * 10 + str[i] - '0';

}

else

{

sum += temp;

temp = 0;

}

}

return sum;

}

int main()

{

string str;

cout << "输入一个字符串" << endl;

//cin >> str;

getline(cin, str);//不会将末尾的“/n”保存到str中

str += "/n";

cout << FindAndSum(str) << endl;

//下面是测试size和length是否相等

//cout << str.length()<

//cout << str.size()<

return 0;

}

参考博客:http://blog..net/hackbuteer1/article/details/6667026

如何用计算机猜数字 杭电计算机复试笔试题 2道acm简单题():1.猜数字游戏;2.字符串提取数字并求和;...

如果觉得《如何用计算机猜数字 杭电计算机复试笔试题 2道acm简单题():1.猜数字游戏》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。