1.编写一个完整的程序,实现功能:向用户提问“现在正在下雨吗?”,提示用户输入Y或N。若输入为Y,显示“现在正在下雨。”;若输入为N,显示“现在没有下雨”;否则继续提问“现在正在下雨吗?”
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| #include<iostream> #include<string> using namespace std; int main() { string input; while (1) { cout << "现在正在下雨吗?"; getline(cin, input); if (input == "Y") { cout << "现在正在下雨" << endl; break; } else if (input == "N") { cout << "现在没有下雨" << endl; break; } else { continue; } } system("pause"); return 0; }
|
2.编写一个完整的程序,运行时向用户提问“你考试考了多少分?(0~100)”,接收输入后判断其等级显示出来,规则为90到100优,80到90良,60到80中,0到60差。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
| #include<iostream> using namespace std; int main(){ float number; while(1){ cout << "你考试考了多少分?(0~100):"; cin >> number; while(cin.fail()){ cout<<"你输入的不是数字,请重新输入!"<<endl; cin.clear(); cin.sync(); cout<<"你考试考了多少分?(0~100):"; cin >> number; } if(number >= 90 && number <= 100){ cout << "你的等级是优" << endl; } else if(number>=80 && number<90){ cout << "你的等级是良" << endl; } else if(number>=60 && number<80){ cout << "你的等级是中" << endl; } else if(number>=0 && number<60){ cout << "你的等级是差" << endl; } else{ cout << "你输入的成绩不在判断等级的范围内,请重新输入!" << endl; } } return 0; }
|
3.实现一个简单的菜单程序,运行时显示“Menu: A(dd) D(elete) S(ort) Q(uit),Select one:”,提示用户输入。A表示增加,D表示删除,S表示排序,Q表示退出。输入为A、D、S时分别提示“数据已经增加、删除、排序。”,输入为Q时程序结束。
(1)要求用if…else语句进行判断,用break,continue控制程序流程。
(2)要求使用switch语句。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59
| #include<iostream> #include<string> using namespace std; 利用if...else语句进行判断,用break,continue控制流程。 */ int main() { string input; while (1) { cout << "Menu: A(dd) D(elete) S(ort) Q(uit),Select one:"; getline(cin, input); if (input == "A" || input == "a") { cout << "数据已经增加!" << endl; continue; } else if (input == "D" || input == "d") { cout << "数据已经删除!" << endl; continue; } else if (input == "S" || input == "s") { cout << "数据已经排序!" << endl; continue; } else if (input == "Q" || input == "q") { break; } else { cout << "你输入的参数有误,请重新输入!" << endl; continue; } } } 利用switch语句进行编写 */
|
4.输入一个两位整数,要求将该数逆序输出。例如,输入68,输出86。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
| #include<iostream> using namespace std; 上机习题4 输入一个两位整数,要求将该数逆序输出。 */ int main() { int input; int digit, unit; while (1) { cout << "请输入一个两位整数(10-99):"; cin >> input; if (input >= 100 || input <= -100) { cout << "你输入的数字不是两位整数,请重新输入" << endl; cin.clear(); cin.sync(); continue; } else { digit = input / 10; unit = input - digit * 10; cout << unit * 10 + digit << endl; } } return 0; } 输出测试: -568 "你输入的数字不是两位整数,请重新输入" -89 -98 89 98 7 70 -6 -60 589 "你输入的数字不是两位整数,请重新输入" 可以循环输入,每次都会有提示:"请输入一个两位整数(10-99):" */
|
5.求表达式的值。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
| #include<iostream> using namespace std; 上机习题5 */ int main() { float x1 = 2.5; int a1 = 7; float y1 = 4.7; cout << "x1+a1%3*(int)(x1+y1)%2/4 ="<< x1 + a1 % 3 * (int)(x1 + y1) % 2 / 4 << endl; int a2 = 2; int b2 = 3; float x2 = 3.5; float y2 = 2.5; cout << "(float)(a+b)/2+(int)x%(int)y =" << (float)(a2 + b2) / 2 + (int)x2 % (int)y2 << endl; int a3 = 12; int n3 = 5; cout << "a%=(n%=2) =" << (a3 %= (n3 %= 2)) << endl; int a4 = 12; cout << "a+=a-=a*=a =" << (a4 += a4 -= a4 *= a4) << endl; system("pause"); return 0; }
|