1.问题:对不同成绩给予对应评语
思路:1.输入成绩
2.判断是否为有效成绩
3.分类(按成绩),对应输出
代码:#include<iostream>
using namespace std;
int main()
{
int score;
cout<<"input score:";
cin>>score;
if(score<0||score>100)
cout<<"invalid score!"<<endl;
else
{
switch(score/10)
{
case 10:
cout<<'A'<<endl;
cout<<" 恭喜你,满分!"<<endl;
break;
case 9:
cout<<'B'<<endl;
cout<<" 成绩优秀!"<<endl;
break;
case 8:
cout<<'C'<<endl;
cout<<" 成绩良好!"<<endl;
break;
case 7:
cout<<'D'<<endl;
cout<<" 成绩一般!"<<endl;
break;
case 6:
cout<<'E'<<endl;
cout<<" 刚刚及格!"<<endl;
break;
default:
cout<<'F'<<endl;
cout<<" 要加倍努力!"<<endl;
}
}
}
解释:1.控制结构(流程控制)(flort control)
1.顺序
2.选择:if{...};if{...}else{...}
3.分支(多路选择):switch(){case:...}
4.循环:for(){...};while(){...};do{...}while()
2.结构:
1.switch( 结果为整数的表达式):先计算表达式
2.{...case( 整数常数:)...case( 整数常数:)}:case(可为整数、字符、枚举常量)。每个case 后的整数常数各不相同
3....break;(跳出):至少有一个分支;switch 所有的分支必须用{}括起来。
4.default; (习惯上放最后一位):至少有一个分支;switch 所有的分支必须用{}括起来。
2.问题1:以每行数*形式输出
问题2:错误代码,无限循环
思路1:无
思路2:i为字符型,不能i++运算,i的ASCII码值不变,即,一直<128
代码1:#include<iostream>
using namespace std;
int main()
{
for(int i=0;i<10;i++)
{
cout<<i<<"*"<<endl;
}
cout<<"bye"<<endl;
}
代码2:#include<iostream>
using namespace std;
int main()
{
for(char i=0;i<128;i++)
cout<<"*"<<endl;
}
解释:for(准备;条件;调整):如果条件总为真的话,这个判断就是多余的,一直执行下去
for(准备;;调整):无条件循环就是无限循环,也就是死循环
for循环的()中任何条件都是可有可无的
for(;;) 无限次执行下面的语句,死循环
3.问题:共讲16天课,依次输出“讲第i天课”
思路:用while{}做,初始化15,减至0
代码:#include<iostream>
using namespace std;
int main()
{