1 // 18-数组的第三种实现方式OA现金盘平台制作QQ2952777280【话仙源码论坛】hxforum.com【木瓜源码论坛】papayabbs.com.cpp: 定义控制台应用程序的入口点。
2 //
3
4 #include "stdafx.h"
5 #include <iostream>
6 #include <climits>
7 #include <array> //引入模板类
8 #include<string> //引入string类库
9 using namespace std;
10
11 void CreateArray();
12 void ShowSnack();
13 void RunData();
14 struct CandyBar
15 {
16 //char brand[20]={};
17 string brand;
18 float weight;
19 int calorie;
20 };
21 struct TotalRun
22 {
23 float run1;
24 float run2;
25 float run3;
26 };
27 int main()
28 {
29 //C++11最新的数组写法,利用模板类。
30 //使用array创建数组的好处是数组之间可以互相赋值。
31 array<int, 9> a1 = {2,34,234,12,645,123,654,36};//未定义值默认为0
32 array<int, 9>a2;
33 a2 = a1; //将a1赋值给a2
34 cout << a1[4] << " " << a2[4] << endl;
35 cout << a1[8] << " " << a2[8] << endl;//访问未赋值的元素。
36
37 CreateArray();
38 ShowSnack();
39 RunData();
40
41 int t;
42 cin >> t;
43 return 0;
44 }
45
46 //___练习____
47 //1.创建数组actor,里面有30个char。
48 // 创建数组chuck,里面有13个float。
49 void CreateArray()
50 {
51 //创建数组有三种方式:
52 //方式1 char actor[30]{}; //传统的方式
53 //方式2 char actor=new char[30]; //通过指针的方式主动申请内存创建数组
54 /方式3*/ array<char, 30> actor={}; //通过C++11最新的array模板类来创建
55 array<float, 13> chuck = {};
56
57 //给数组赋值:
58 actor[2] =‘6‘;
59 chuck[12] = 15.6f;
60 cout << actor[2] << endl;
61 cout << chuck[12] << endl;
62 }
63
64 //2.创建一个结构体糖块CandyBar,里面包含三个成员。第一个成员储存了糖块的品牌,第二个成员储存了糖块的重量(可以有小数),第三个
65 //成员储存了糖块的卡路里(整数)。编写一个程序,声明这个结构。创建一个名为snack的CandyBar变量,初始化为Mocha Munch,2.3,500。
66 //初始化应该声明snack的时候进行。最后程序显示snack变量的内容。
67
68
69 void ShowSnack()
70 {
71 CandyBar snack = {"Mocha Munch",2.3f,500 };
72 cout <<snack.brand<<" " << snack.calorie << " " << snack.weight << endl;
73 }
74
75 //3.编写一个程序,让用户输入三次50米跑的成绩,显示次数和平均成绩。使用array对象来储存数据。
76 void RunData()
77 {
78 //TotalRun totalRun;
79 //cout << "请输入第一次50米跑的成绩(秒):";
80 //cin >> totalRun.run1;
81 //cout << "请输入第二次50米跑的成绩(秒):";
82 //cin >> totalRun.run2;
83 //cout << "请输入第三次50米跑的成绩(秒):";
84 //cin >> totalRun.run3;
85 //float average = (totalRun.run1 + totalRun.run2 + totalRun.run3) / 3;
86 //cout << "您一共跑了三次50米,平均成绩为:" << average;
87
88 array <float, 3 > totalRun = {};
89 cout << "请输入第一次50米跑的成绩(秒):";
90 cin >> totalRun[0];
91 cout << "请输入第二次50米跑的成绩(秒):";
92 cin >> totalRun[1];
93 cout << "请输入第三次50米跑的成绩(秒):";
94 cin >> totalRun[2];
95 cout << "您一共跑了三次50米,平均成绩为:" << (totalRun[0] + totalRun[1] + totalRun[2]) / 3 << endl;
96 }
原文地址:http://blog.51cto.com/13880964/2148058