hatty:数组的应用

来源:百度文库 编辑:高校问答 时间:2024/04/30 02:41:47
解释以下

实验目的:
巩固所学的基本概念,掌握数组的灵活使用。
实验内容:
1、从键盘上输入一个字符串,假定该字符串的长度不超过30,试统计出该串中所有十进制数字字符的个数。【教材p155 5.4(2)】
提示:
(1)根据“字符串的长度不超过30”,可以定义一个字符数组可以放置30个字符,即char s[31]
(2)十进制数字字符,即‘0’,‘1’,‘2’,……,‘9’。
(3)定义一个整型变量count利用循环语句和条件语句统计字符串中数字字符的个数。

2、首先让计算机随机产生10个两位正整数,然后按照从小到大的次序显示出来。【教材p156 (6)】
提示:
(1)随机数的产生:
随机函数int rand(void)产生伪随机数。
#include<iostream.h>
#include<stdlib.h>
void main()
{
cout<<"\n产生的随机数是:"<<rand()<<endl;
}
//每次运行时产生的随机数都一样

改变随机数序列函数void srand(unsigned s) 给随机数产生一个随机种子(seed)。相同的seed产生的随机数排列是相同的。
#include<iostream.h>
#include<stdlib.h>
void main()
{
srand(1);//通过改变参数产生可以预见的随机序列
cout<<"\n产生的随机数是:"<<rand()<<endl;
}

利用srand(time(0)),这里参数是time(0),使程序每次运行都产生不同的随机序列。
time() 函数原型包含在系统头文件<time.h>中,功能是返回从1970/01/01到当前时间为止的秒数。
由于当前时间是时刻变化的,所以每次运行程序时调用srand函数的参数值均不同(种子(seed)不同),从而产生的随机数也不同。
#include<iostream.h>
#include<stdlib.h>
#include<time.h>
void main()
{
srand(time(0));
cout<<"\n产生的随机数是:"<<rand()<<endl;
}

所以,要想产生不同的随机数,在使用rand()前要先调用srand(time(0))。

(2)利用随机函数能够产生任何制定区间内的随机数

rand()%100 //返回0~99内的一个随机整数
a+rand()%b //返回[a,a+b-1]内的一个随机整数
rand()%90/10.0+1 //返回1.0~9.9内的含有一位整数一位小数的实数
rand()%90+10 //返回10~99内的一个随机整数

(3)排序:
选择排序【参考教材P134 例5.6】
插入排序【参考教材P135 例5.7】

【附表】
函数名称 原型 头文件 功能
随机函数 int rand(void); stdlib.h 返回0~32767之间的一个随机整数
改变随机数序列 void srand(unsigned s); stdlib.h 生成与s对应的随机数序列