流程控制语句

  • 格式:pdf
  • 大小:205.22 KB
  • 文档页数:6
项目名称:流程控制语句 一、实验目的及要求 进一步熟悉编程环境,并通过本实验的学习,使学生: 1、 熟悉条件语句、开关语句、循环语句的使用; 2、 掌握三种循环结构的区别和联系、如何转换以及正确使用; 3、 掌握与循环语句相关的break和continue语句的使用; 4、 掌握常用算法:枚举法、递推法、迭代法。 二、实验设备(环境)及要求 微型计算机;windows 操作系统;Microsoft Visual Studio 6.0集 成开发环境;Microsoft Visual Studio 6.0集成开发环境的MSDN。 三、实验内容与步骤 1、输入一门课程的成绩,若高于90分,输出“A Grade”,若高 于80而低于90,输出“B Grade”,若高于70而低于80,输出“C Grade”,若高于60而低于70,输出“D Grade”,否则,输出“Not Passed”。用if-else嵌套和switch语句两种方法实现。 【注意】:if-else嵌套使用时,注意else子句总是与其最近的if 配对;对数据划分区间时,注意关系和逻辑表达式的正确书写。特 别注意if-else与switch的区别与联系,switch特别适合某个整数或字 符型表达式的值与一组常量匹配的情况。 2、范例:输入若干字符,统计其中数字字符,白字符和其他 字符的个数,输入!结束。 【提示】:要统计若干字符,需要循环反复输入,读入数据后 用switch语句判断字符的种类;要统计三种字符数,需定义三个用 于计数的变量nDigit,nWhite,nOther并首先置0;在这里,用while 循环比较合适,白字符指空格键,tab键和回车键。
int main() { double n,n1,n2,m; cout<<"Please input the number:\n"; cin>>n; n1=n; do { n2=(n1+n/n1)*0.5; n1=n2; }while(fabs((n/n1-n1)*0.5)>=0.0000001); m=(n1+n2)/2; cout<<"The result is:"<<m<<endl; return 0; }
2.
3.
五、分析与讨论 通过本次实验,进一步熟悉了条件语句、开关语句、循环语句 的使用,掌握了常见算法的步骤。 六、教师评语 签名: 日期:
成绩
附件:
1.
(1) #include <iostream> using namespace std; int main() {
int a; cout<<"Please input the score:\n"; cin>>a; if(a>=90) cout<<"A Grade"<<endl; else { if(a>=80) cout<<"B Grade"<<endl; else { if(a>=70) cout<<"C Grade"<<endl; else { if(a>=60) cout<<"D Grade"<<endl; else cout<<"Not passed"<<endl; } } } return 0; }
default: cout<<"Please input a number between 1 to 100\n";break; } return 0; } 2. #include<iostream> using namespace std; int main() { char c; int nDigit=0,nWhite=0,nOther=0,i; cout<<"Please input anything :\n"; do { c=cin.get(); if(c>='0'&&c<='9') i=1; else { if(c==' '||c=='\n'||c=='\t') i=2; else i=3; } switch(i) { case 1:nDigit++;break; case 2:nWhite++;break; case 3:nOther++;break; } }while(cin.peek()!='~'); cout<<"Digit="<<nDigit<<endl; cout<<"White="<<nWhite<<endl; cout<<"Other="<<nOther<<endl; return 0; } 3. #include <iostream> #include <math.h> using namespace std;
【思考题】:(1)如果要分别统计数字0-9各个数字出现的次 数,怎样才能有效地实现?(2)如果要统计输入的一段文字中出 现的行数、单词数和字符数,又如何有效实现? 3、用迭代法编程求,求平方根的公式为,要求前后两次求出 的x的差的绝对值小于10-7,要求输出结果保留5位小数。 【提示】:迭代法的特点是数列的前后项之间存在固定的关 系。要求目标值,须从一个近似值出发,利用迭代公式反复计算反 复比较,直到目标值符合要求。本题中,迭代公式为:,我们取a/2 为平方根的近似值,利用迭代公式计算,直到。在这里, ,fabs为 求绝对值的函数。 四、实验结果与数据处理 1.
(2) # include <iostream> using namespace std; int main() { int a; cout<<"Please input the score:\n"; cin>>a; a=a/10; switch(a) { case 10: case 9: cout<<"A Grade\n";break; case 8: cout<<"B Grade\n";break; case 7: cout<<"C Grade\n";break; case 6: cout<<"D Grade\n";break; case 5: case 4: case 3: case 2: case 1: case 0: cout<<"Not Passed\n";break;