Cpp class exercise 4:修订间差异

来自汉语教学技术研究与应用
跳转到导航 跳转到搜索
HanyuTech留言 | 贡献
HanyuTech留言 | 贡献
无编辑摘要
第2行: 第2行:


== 预习练习 ==
== 预习练习 ==
自行输入【例4.1】、【例4.2】,编辑至运行通过。
自行输入【例4-1】、【例4-2】,编辑至运行通过。


【例4-1】数组的定义、赋值和遍历
【例4-1】数组的定义、赋值和遍历
第89行: 第89行:
}  
}  
</syntaxhighlight>
</syntaxhighlight>
== 扩展 ==
【例4-1】的数组遍历,可以改用while 循环语句实现吗?
【例4-2】是按从小到大排序的,如果要改成从大到小排序,应该怎么修改?

2019年5月17日 (五) 20:15的版本


预习练习

自行输入【例4-1】、【例4-2】,编辑至运行通过。

【例4-1】数组的定义、赋值和遍历

#include <iostream>
using namespace std;

int main()
{
	int a[3]; //定义数组 
	a[0]= 1; //通过索引引用,并赋值。注意索引是从0开始的。 
	a[1]= 2;
	a[2]= 3;
	
	int b[3]= {5,6,7}; 	//定义数组并同时赋值。注意括号是花括号。 
	
	for(int i=0;i<3;i++)
	{
		cout << a[i] << endl;		
	}
	
	//计算数组b的长度,为什么要用这种方法呢?	
	//如果改成  int lenth = sizeof(b);
	// lenth的值会是多少呢? 
	int lenth = sizeof(b)/sizeof(int);
	
	for(int i=0;i<lenth;i++)
	{
		cout << b[i] << endl;	
	}
	
	return 0;	
}

【例4-2】冒泡排序法

#include <iostream>
#include <stdlib.h>
#include <time.h>
#define random(x) (rand()%x)
using namespace std;

int main()
{
	int a[10];
	srand((int)time(0));//用系统时间来做种子 
		
	for(int i=0;i<10;i++) 
	{
		  
		a[i] = random(100); // 取100以内的随机数 		
	}
	
	//原始顺序 
	for(int i=0;i<10;i++) 
	{		 
		cout << a[i] << ","; // 逐个输出 		
	}
	cout << endl;
	
	for(int i=0;i<10;i++) 
	{		 
		for(int j=i+1;j<10;j++) 
		{
			if(a[i]>a[j])
			{
				//交换
				int temp =  a[i];
				a[i] = a[j];
				a[j] = temp;				
			} 
		}
				
	}
	
	//排序以后的顺序 
	for(int i=0;i<10;i++) 
	{		 
		cout << a[i] << ","; // 逐个输出 		
	}
	cout << endl;	
	
	
	return 0;	
}

扩展

【例4-1】的数组遍历,可以改用while 循环语句实现吗?

【例4-2】是按从小到大排序的,如果要改成从大到小排序,应该怎么修改?