#include <iostream> using namespace std; void main(void) char keyl {a','c','b','a','d'}; char c; int ques =0,numques 5,numcorrect 0; cout <<"Enter the "<numques <<question tests:"<<endl; while (cin.get(c)) if (c!="n') if (c =key[ques]) numcorrect++; cout <<" else cout <<"*" else cout<<"Score "<<float(numcorrect)/numques*100<<"%"; ques 0; ∥reset variables numcorrect 0; cout <endl; continue; ques++; 11
#include <iostream> using namespace std; void main(void) { char key[ ] = {'a','c','b','a','d'}; char c; int ques = 0, numques = 5, numcorrect = 0; cout << "Enter the " << numques << " question tests:" << endl; while (cin.get(c)) { if (c != '\n') if (c == key[ques]) { numcorrect++; cout << " "; } else cout << "*"; else { cout<< " Score "<<float(numcorrect)/numques*100<< "%"; ques = 0; // reset variables numcorrect = 0; cout << endl; continue; } ques++; } } 11
运行结果: acbba ** Score 60% acbad Score 100% abbda **Sc0re40% bdcba ***** Score 0% 12
运行结果: acbba ** Score 60% acbad Score 100% abbda * ** Score 40% bdcba ***** Score 0% 12
C++语言程序设计 清华大学郑莉 二维数组的声明及引用 数数据类型 标识符[常量表达式[常量表达式2).; 例: 组 int a[5][3]; 表示a为整型二维数组,其中第一维有5 个下标(0~4),第二维有3个下标 (0~2),数组的元素个数为15,可以用 于存放5行3列的整型数据表格。 13
C++语言程序设计 清华大学 郑莉 13 二维数组的声明及引用 数据类型 标识符[常量表达式1][常量表达式2] .; 例: int a[5][3]; 表示a为整型二维数组,其中第一维有5 个下标 ( 0~4 ) , 第 二 维 有 3 个下标 (0~2),数组的元素个数为15,可以用 于存放5行3列的整型数据表格。 数 组
C++语言程序设计 清华大学郑莉 二维数组的声明及3引用 ●二维数组的声明 数 类型说明符数组名常量表达式[常量表达式] 例如:float a[3][4]; a[0]-aoo a01 a02 ao3 组 可以理解为: a a[1]—a1oa1a12a13 存储顺序 a[2]—a20a21a22a23 按行存放,上例中数组a的存储顺序为: a00a01ao2a03a10a11a12ai3a20a21a22a23 。引用 例如:b[1][2]=a[2][3]/2 下标不要越界
C++语言程序设计 清华大学 郑莉 ⚫ 存储顺序 按行存放,上例中数组a的存储顺序为: ⚫ 二维数组的声明 类型说明符 数组名[常量表达式][常量表达式] 例如:float a[3][4]; a00 a01 a02 a03 a10 a11 a12 a13 a20 a21 a22 a23 a[0]——a00 a01 a02 a03 a[1]——a10 a11 a12 a13 a[2]——a20 a21 a22 a23 可以理解为: a ⚫ 引用 例如:b[1][2]=a[2][3]/2 下标不要越界 二维数组的声明及引用 数 组 14
C++语言程序设计 清华大学郑莉 二维数组的初始化 数 。将所有数据写在一个内,按顺序赋值 例如:static int al3][4]={1,2,3,4,5,6,7,8,9,10,11,12} 组 分行给二维数组赋初值 例如:static int a[3][4]={1,2,3,4,{5,6,7,8},{9,10,11,12} 可以对部分元素赋初值 例如:static int a3][4]={1,0,6},0,0,11} 15
C++语言程序设计 清华大学 郑莉 ⚫ 将所有数据写在一个{}内,按顺序赋值 例如:static int a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12}; ⚫ 分行给二维数组赋初值 例如:static int a[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}}; ⚫ 可以对部分元素赋初值 例如:static int a[3][4]={{1},{0,6},{0,0,11}}; 二维数组的初始化 数 组 15