#include <iostream> using namespace std; int mainO "const char KEY[]={'a','c','b','a','d'}; const int NUM QUES =5; char c; int ques =0,numCorrect=0; cout<<"Enter the "NUM_QUES < question tests:"< endl; while(cin.get (c)){ if(c !=\n) if(c =key[ques]){ numCorrect++;cout <<"" else cout<"*”; ques++; else cout〈<"Score" <static_cast<float>(numCorrect)/NUM_QUES*100<<%"; ques =0: numCorrect =0; cout <endl; return 0; 11
#include <iostream> using namespace std; int main() { const char KEY[ ] = {'a','c','b','a','d'}; const int NUM_QUES = 5; char c; int ques = 0, numCorrect = 0; cout << "Enter the " << NUM_QUES << " question tests:" << endl; while(cin.get(c)) { if(c != '\n') { if(c == key[ques]) { numCorrect++; cout << " "; } else cout<<"*"; ques++; } else { cout << " Score " << static_cast<float>(numCorrect)/NUM_QUES*100<<"%"; ques = 0; numCorrect = 0; cout << endl; } } return 0; } 11
运行结果: acbba 米米 Score 60% acbad Score 100% abbda 米米* Score 40% bdcba 米米米*米 Score 0% 12
运行结果: acbba ** Score 60% acbad Score 100% abbda * ** Score 40% bdcba ***** Score 0% 12
C++语言程序设计 清华大学郑莉 二维数组的声明及引用 数数据类型标识符[常量表达式1][常量表达式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++语言程序设计 清华大学郑莉 二维数组的声明及引用 ●二维数组的声明 数 类型说明符数组名常量表达式][常量表达式] 例如:float a3][4]: ~a0]- -aoo ao1 a02 a03 组 可以理解为: 8 a[1] a10a11a12a13 。存储顺序 a[2]—a20a21a22a23 按行存放,上例中数组a的存储顺序为: ao0a01ao2a03a10a11a12a13a20a21a22a23 ●引用 例如:b[1][2]=a[2][3]/2 下标不要越界 14
C++语言程序设计 清华大学 郑莉 14 ⚫ 存储顺序 按行存放,上例中数组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 下标不要越界 二维数组的声明及引用 数 组
C++语言程序设计 清华大学郑莉 二维数组的初始化 数。将所有数据写在一个0内,按顺序赋值 例如: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;大
C++语言程序设计 清华大学 郑莉 15 ⚫ 将所有数据写在一个{}内,按顺序赋值 例如: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}}; 二维数组的初始化 数 组