- 1、下列程序的运行结果为?
- 2、已定义: char grade; ,若成绩为 A、B、C 时输出合格,成绩为 D 时输出不合格,其他情况提示重新输入。请编写程序实现以上功能(使用switch语句)。
- 3、以下程序有bug吗?在哪?
- 4、循环语句 for(int i=0;i<=5&&!i;i++)
- 5、与下列程序段不等价的是?
- 6、运行下列程序的结果为?
- 7、请编写程序实现:输出 1 到 100 之间每位数的乘积大于每位数的和的数, 如对数字 12 有 1*2<1+2,所以不输出这个数;对数字 23 有 2*3>2+3 所以输出这个数。
- 8、请编写程序实现:判断一个数是否为素数
- 9、编写一个程序,输入一个正整数,判断它是否能被 3,5,7 同时整除。
- 10、编写一个程序,让用户输入年和月,然后判断该月有多少天
- 11、编写一个程序。计算若一头母牛,它每年年初生一头小母牛,每头小母牛从出生起第四个年头开始每年也生一头小母牛,按此规律,第 10 年时有多少头母牛?
- 12、计算一个多项式
- 13、 选择题
- 14、填空题
- 15、编程题
- 先到这了,有啥错误欢迎指正!谢谢!
#includeusing namespace std; void main() { char c = '@'; if (c >= 'A' && c <= 'Z') cout << " 是大写字母 "; else if (c >= 'a' && c <= 'z') cout << " 是小写字母 "; else cout << " 是其它字符 "; }
答案:是其它字符
//若成绩为 A、B、C 时输出合格,成绩为 D 时输出不合格,其他情况提示重新输入 #includeusing namespace std; int main() { char grade; cout << "请输入grade,A/B/C/D:t"; cin >> grade; switch (grade) { case 'A': case 'B': case 'C':cout << "合格" << endl; break; case 'D':cout << "不合格" << endl; break; default:cout << "请重新输入:"; } return 0; }
解析:在 switch 语句执行过程中, 找到第一个相匹配的表达式后,转去执行该case 后的语句,直到遇到 break 语句后跳出 switch 语句执行其后的语句。
while 后没有加分号,即应该为while(i<=100);
cout<
(a) 1 次== (b)3 次 (c)5 次 (d)6 次
解析:i++是先运算再自加
执行 for 循环 i 的初值为 0,第一次循环时表达式 0<=5&&!0
结果为 1 所以执行循环体输出 0;然后 i 自加为 1,计算表达式 1<=5&&!1 结果为 0,所以退出循环。答案为: a。
(a) int sum = 0, i = 1;
do {
sum += i++;
} while (i <= 100);
(b) int i = 1, sum = 0;
while (i <= 100)
{
sum += i++;
}
(c) int i = 1, sum = 0;
while (1)
{
if (i > 100)
break;
sum += i++;
}
(d) int i, sum = 0;
for (i = 1; i <= 100; i++, sum += i);
答案:d
(1)运行下列程序的结果为?
输入:24 7
#includeusing namespace std; void main() { int x, y, cmultiple; cout << " 输入两个整数 :"; cin >> x >> y; cmultiple = x; while (1) { if (cmultiple % y == 0)break; cmultiple += x; } cout << " 最小公倍数 :" << cmultiple << endl; }
解答:结果为168,重要突破点:break
(2)运行下列程序的结果为?
输入:24 7
#includeusing namespace std; void main() { int x, y, var1; cout << " 输入两个整数: "; cin >> x >> y; if (x < y)var1 = x, x = y, y = var1; var1 = x % y; while (var1) { x = y; y = var1; var1 = x % y; } cout << "最大公约数 :" << y << endl; }
解答:1
#includeusing namespace std; int main() { int num, ten, one; cout << "请输入1到100之间的两位数:"; cin >> num; ten = num / 10; one = num % 10; if (ten * one > ten + one) cout << "这个数为:" << num << endl; else cout << "此数不符合输出条件"; }
//判断一个数是否为素数 #includeusing namespace std; int main() { int i, j=0, num; cout << "请输入需要判断的整数:"; cin >> num; for (i = 2; i <= num; i++) { if (num % i == 0) { j += 1; } } if (j < 2) cout << "该整数是素数"; else cout << "该整数不是素数"; }
OMG 我的return 0; 又忘记了!!!
//编写一个程序,输入一个正整数,判断它是否能被 3,5,7 同时整除。 #includeusing namespace std; int main() { int pinteger; cout << "请输入一个正整数:"; cin >> pinteger;//3,5,7的最小公倍数为105,所以偷个懒应该没事吧呜呜 if (pinteger < 0) cout << "是输入一个正整数喔!"; else { if (pinteger % 105 == 0) cout << "该数可以同时被3,5,7整除"; else cout << "该数不能同时被3,5,7整除"; } return 0; }
#includeusing namespace std; void main() { int year, month, days, leap; cout << " 请输入年月 :"; cin >> year >> month; switch (month) { case 1: case 3: case 5: case 7: case 8: case 10: case 12:days = 31; break; case 4: case 6: case 9: case 11:days = 30; break; case 2: if (year % 400 == 0)leap = 1; else if (year % 4 == 0 && year % 100 != 0)leap = 1; else leap = 0; if (leap) days = 29; else days = 28; } cout << year << " 年" << month << " 月的天数为 :" << days << endl; }
//计算若一头母牛,它每年年初生一头小母牛,每头小母牛从出生起第四个 //年头开始每年也生一头小母牛,按此规律,第 10 年时有多少头母牛? #includeusing namespace std; void main() { int sum1 = 2, sum2 = 3, sum3 = 4, sum = 0; for (int i = 4; i <= 10; i++) { sum = sum1 + sum3; sum1 = sum2; sum2 = sum3; sum3 = sum; } cout << " 第十年有 " << sum << " 头牛 !" << endl; }
只是看起来难而已,其实~
#includeusing namespace std; int main() { double e = 1.0; double x = 1.0; int i = 1; while (x >= 1.0e-7) { x = x / i; e = e + x; i = i + 1; } cout << "e = " << e << endl; return 0; }
(1) 在循环语句中使用 break 语句的作用是( )。
(a) 结束本次循环 (b) 结束该层循环 (c)结束所有循环 (d) 结束程序执行
(2) 对 if 后的括号中的表达式,要求 i 不为 0 的时候表达式为真,该表达式表示正确的为( )。
(a)i (b)!i (c)i<>0 (d)i=0
(3)下列循环语句的执行次数是( )。
while(!1) cout<< ”ok! ”;
(a)0 次 (b)1 次 (c)2 次 (d) 无数次
(4)运行下列程序结果为
#includeusing namespace std; void main() { int i; for (i = 0; i <= 10; i++) { if (i % 2) cout << i; else continue; } }
(a)246810 (b)12345 (c)678910 (d)13579
(1) 结构化程序设计的三种基本结构是 顺序结构、选择结构(分支结构)、循环结构。
(2)continue 语句实现的作用是跳出本次循环。
(3)若输入” china 2008! ”运行下列程序的输出结果为
#includeusing namespace std; void main() { char c; int letters = 0, digits = 0, others = 0; cout << "Please input a line charaters" << endl; while ((c = getchar()) != 'n') { if (c >= 'a' && c <= 'z' || c >= 'A' && c <= 'Z') letters++; else if (c >= '0' && c <= '9') digits++; else others++; } cout << "letters:" << letters << endl << "digits:" << digits << endl << "others:" << others << endl; }
这个空格其实我也看不清是几个~
(1)请编写程序完成程序完成 1!+2 !+… +18! 的计算
//编写程序完成程序完成 1!+ 2 ! + ... + 18!的计算 #includeusing namespace std; int main() { int i; double result = 0, n = 1; for (i = 1; i <= 18; i++) { n *= i; result += n; } cout << "1!+ 2 ! + ... + 18!的值为:" << result << endl; return 0; }
(2)在 100~200 中找出同时满足用 3 除余 2,用 5 除余 3 和用 7 除余 2 的所有整数。
//在 100~200 中找出同时满足用 3 除余 2, //用 5 除余 3 和用 7 除余 2 的所有整数 #includeusing namespace std; int main() { cout << "在 100~200 中同时满足用 3 除余 2,用 5 除余 3 和用 7 除余 2 的整数为: "; for (int i = 100; i <= 200; i++) { if (i % 3 == 2 && i % 5 == 3 && i % 7 == 2) cout << i << 't'; } cout << endl; return 0; }
(3)求 1000 之内的所有完数。所谓完数是指一个数恰好等于它的所有因子之和。例如, 6=1+2+3,所以 6 为完数。
解答:
//求 1000 之内的所有完数。所谓完数是指一个数恰好等于它的所有因子之和。 //例如, 6=1+2+3,所以 6 为完数。 #includeusing namespace std; int main() { int sum; for (int i = 1; i <= 1000; i++) { sum = 0; for (int j = 1; j <= i / 2; j++) { if (i % j == 0) sum += j; } if (i == sum) cout << i << "是完数" << endl; } return 0; }
(4)求 100~999 中的。所谓水仙花数是指一个三位数,它的每位数字的立方之和等于该数。例如,因为
所以 153 为水仙花数。
//求 100~999 中的水仙花数。 //所谓水仙花数是指一个三位数,它的每位数字的立方之和等于该数。 #includeusing namespace std; int main() { int num, hundred, ten, one, sum; for (num = 100; num <= 999; num++) { hundred = num / 100; ten = num % 100 / 10; one = ten % 10; sum = pow(hundred, 3) + pow(ten, 3) + pow(one, 3); if (num == sum) cout << num << "是水仙数" << endl; } return 0; }
(5)打印九九乘法表
小cakes
//打印九九乘法表 #includeusing namespace std; int main() { int i, j, result, count; for (i = 1; i <= 9; i++) { count = 0; for (j = 1; j <= i; j++) { result = i * j; cout << j << "*" << i << "=" << result << "t"; count++; } cout << endl; } return 0; }
(6)编程序模拟剪刀,石头和纸游戏。游戏规则为:剪刀剪纸,石头砸剪刀,纸包石头.玩游戏者从键盘上输入S(表示剪刀)或R(表示石头)或P(表示纸),要求两个游戏者交替输入,计算机给出输赢的信息。
//编程序模拟剪刀,石头和纸游戏。 //游戏规则为:剪刀剪纸,石头砸剪刀,纸包石头.玩游戏者从键盘 //上输入S(表示剪刀)或R(表示石头)或P(表示纸), //要求两个游戏者交替输入,计算机给出输赢的信息。 #includeusing namespace std; int main() { char A, B; cout << "请A,B两位玩家顺序输入S(表示剪刀)或R(表示石头)或P(表示纸): "; cin >> A >> B; if ((A == 'S' || A == 'R' || A == 'P') && (B == 'S' || B == 'R' || B == 'P')) { if ((A == 'S' && B == 'P') || (A == 'R' && B == 'S') || (A == 'P' && B == 'R')) cout << "A玩家赢" << endl; else if ((A == 'P' && B == 'S') || (A == 'S' && B == 'R') || (A == 'R' && B == 'P')) cout << "B玩家赢" << endl; else cout << "平局啦!"; } else cout << "输入错误,请输入S/R/P!"; return 0; }
(7)猴子吃桃问题。猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第 10 天早上想再吃时,发现只剩一个桃子了,求猴子第一天究竟摘了多少个桃子?
//猴子吃桃问题。猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。 //第二天早上又将剩下的桃子吃掉一半,又多吃了一个。 //以后每天早上都吃了前一天剩下的一半零一个。 //到第 10 天早上想再吃时,发现只剩一个桃子了,求猴子第一天究竟摘了多少个桃子? #includeusing namespace std; int main() { int total = 1; for (int i = 1; i <= 9; i++) { total = 2 * (total + 1); } cout << "猴子第一天摘了" << total << "个桃子" << endl; return 0; }
(8)编一程序显示如下图案(有点歪,不过不影响~)
//编一程序显示如下图案 #includeusing namespace std; int main() { int i, j; char x; for (i = 1; i <= 4; i++) { x = 'A'; for (j = 1; j <= 2 * (4 - i); j++) cout << ' '; for (j = 1; j <= 2 * i - 1; j++) { cout << setw(2) << x; x += 1; } cout << endl; } return 0; }



