//第一题是猜数字的游戏。
//题目:随即产生一个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<stdio.h>
#include<stdlib.h>
#include<time.h>
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<iostream>
#include<string>
#include<cctype>
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()<<endl;
//cout << str.size()<<endl;
return 0;
}

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

2道acm简单题(2010):1.猜数字游戏;2.字符串提取数字并求和;的更多相关文章

  1. 2道acm简单题(2013):1.(时分秒)时间相减;2.主持人和N-1个人玩游戏,每个人说出自己认识的人数,判断其中是否有人说谎。

    /*1.题目:输入一个数,代表要检测的例子的个数,每个例子中:输入两个时间(格式HH:MM : SS),前面时间减去后面时间,输出在时钟上显示的时间,格式一样,如果是以为数字的前面补零.*//**思路 ...

  2. 3道acm简单题(2011):1.判断是否能组成三角形;2.判断打鱼还是晒网;3.判断丑数。

    //1.输入三个正整数A.B.C,判断这三个数能不能构成一个三角形.//思路:最小的两边之和是否是大于第三边#include<iostream>#include<algorithm& ...

  3. 2道acm编程题(2014):1.编写一个浏览器输入输出(hdu acm1088);2.encoding(hdu1020)

    //1088(参考博客:http://blog.csdn.net/libin56842/article/details/8950688)//1.编写一个浏览器输入输出(hdu acm1088)://思 ...

  4. java 实现猜数字游戏 随机给定一个数字,猜大小直到正确

    package com.swift; import java.util.Random; import java.util.Scanner; public class GuessBigSmall { p ...

  5. acm.njupt 1001-1026 简单题

    点击可展开上面目录 Acm.njupt 1001-1026简单题 第一页许多是简单题,每题拿出来说说,没有必要,也说不了什么. 直接贴上AC的代码.初学者一题题做,看看别人的AC代码,寻找自己的问题. ...

  6. 又一道简单题&&Ladygod(两道思维水题)

    Ladygod Time Limit: 3000/1000MS (Java/Others)     Memory Limit: 65535/65535KB (Java/Others) Submit S ...

  7. (hdu 简单题 128道)平方和与立方和(求一个区间的立方和和平方和)

    题目: 平方和与立方和 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total ...

  8. 【T-SQL基础】01.单表查询-几道sql查询题

    概述: 本系列[T-SQL基础]主要是针对T-SQL基础的总结. [T-SQL基础]01.单表查询-几道sql查询题 [T-SQL基础]02.联接查询 [T-SQL基础]03.子查询 [T-SQL基础 ...

  9. Linux运维跳槽必备的40道面试精华题(转)

    Linux运维跳槽必备的40道面试精华题(转)   下面是一名资深Linux运维求职数十家公司总结的Linux运维面试精华,助力大家年后跳槽找个高薪好工作. 1.什么是运维?什么是游戏运维? 1)运维 ...

随机推荐

  1. linux_远程连接

    为什么要远程连接linux服务器? 温度.湿度.电力各种影响,有的企业使用阿里云服务器,更加接触不到机房,所有需要通过远程连接服务器来进行管理 IP地址? 互联网上的计算机,都会有一个唯一的32位地址 ...

  2. 二叉查找树C++实现

    二分查找树特点: (1) 若任意节点的左子树不空,则左子树上所有结点的值均小于它的根结点的值: (2) 任意节点的右子树不空,则右子树上所有结点的值均大于它的根结点的值: (3) 任意节点的左.右子树 ...

  3. Django 中 makemigrations、migrate时 No changes detected

    Django创建的项目中,需要更改.增加.删除表中的某些属性,性急直接把之前数据库表删除了,之后再执行: python manage.py makemigrations python manage.p ...

  4. git fetch, git pull 剖析

    真正理解 git fetch, git pull 要讲清楚git fetch,git pull,必须要附加讲清楚git remote,git merge .远程repo, branch . commi ...

  5. @@IDENTITY详细测试

    今天看数据库SQL,有发现存储过程中有使用到SCOPE_IDENTITY()这个函数,后来问了下谷歌大婶,搜到一个比较重要的博客,链接如下:https://dotblogs.com.tw/kkman0 ...

  6. ProgressDialog的使用及逻辑处理

    一般用的情况先声明一个ProgressDialog progressShow = true;(用来判断用户是否点击了取消键) final ProgressDialog pd = new Progres ...

  7. ansible-playbook相关

    获取目标主机的信息 ansible all -m setup -a "filter=ansible_os_family" 不执行仅测试 ```sh 安装一个zabbix-agent ...

  8. 使用document.execCommand复制内容至剪贴板

    API https://developer.mozilla.org/zh-CN/docs/Web/API/Document/execCommand 兼容性 http://caniuse.com/#se ...

  9. ABP 数据迁移

    我主要是在项目部署的时候.当添加一个租户的时候.那么租户是有一个单独的数据库.而我的并没有用多租户单数据库. 因此我的模块里面有一个领域事件 当租户添加时将生前表生成到对应的数据库中.如果那位网友有更 ...

  10. Exchanger

    Exchanger可以在两个线程之间交换数据,只能是2个线程,不支持更多的线程之间互换数据. 当线程A调用Exchange对象的exchange()方法后,他会进入阻塞状态,直到线程B也调用了exch ...