1、C+循环结构要点1.公鸡6元一只,母鸡5元一只,小鸡1元三只,刚好花100元买100只鸡,有哪些买法?输入格式要求:无输出结果格式要求: 公鸡数 = 母鸡数 = 小鸡数 = #include using namespace std;int main()int g, m, x;for (g = 0; g = 20; g+)for (m = 0; m = 33; m+)x = 100 - g - m;if (!(x % 3) & x / 3 + m * 5+ g * 6 = 100)cout公鸡数 = gendl;cout母鸡数 = mendl;cout小鸡数 = xendl;return 0;2
2、. 求多项式 1!+2!+3!+15!的值。输出格式要求:couts=sendl;#include using namespace std;int main( )int s = 0;for (int i = 1; i = 15; i+)int x = 1;for (int j = 1; j = i; j+)x = x * j;s = s + x;cout s= s endl;return 0;3. 用“辗转相除方法”计算两个数 x,y 的最大公约数。输入格式要求:无,直接输入输出格式要求:无,直接输出结果#include using namespace std;int main()int x,
3、 y, n;cinxy;n = x % y;while (n != 0)x = y;y = n;n = x % y;coutyendl;return 0;4用while循环编程,求自然数1至100之间各奇数平方和sum。输出结果格式为:sum=166650#includeusing namespace std;int main ()int i = 1,n, sum=0;while (i = 100)n= i*i;sum = sum + n;i=i+2;cout sum= sumendl;return 0;5. 输出100到1000之间的各位数字之和能被15整除的所有数,输出时每10个一行。输入
4、格式要求:无输出格式要求:cout setw(5) m; 每10个一行。#include#includeusing namespace std;int main()int m, n, k, i = 0;for (m = 100; m 0);if (k % 15 = 0)cout setw(5) m;i+;if (i % 10 = 0) cout endl;return 0;6. 将1-100之间奇数顺序累加存入n中,直到其和等于或大于200为止。输出结果格式:n=225#include using namespace std;int main()int a,n;n=0;for(a=1;a=20
5、0)break;a+=2;coutn=nendl;7. 有递推公式 f(n)=0.5*f(n-1)+0.7*f(n-2),已知f(0)=1,f(1)=1,求f(20)输入格式要求:无输出结果格式要求: f(20) = #include using namespace std;int main( )double f, f1, f2;f2 = 1;f1 = 1;for (int n = 2; n = 20; n+)f = 0.5 * f1 + 0.7 * f2;f2 = f1;f1 = f;cout f(20) = f endl;return 0;8. 求1至200之间的所有质数,将质数和存入变量
6、 sum 中并输出。质数(素数)的说明:“质数是只能被1和其本身整除的数”。输入提示要求:无输出结果格式要求:质数之间以一个空格隔开输出所有质数后换行输出:sum=4227# include # include using namespace std;int main()int N, m, sum = 0;for (m = 2; m = 200; m+)int i, tmp = (int)sqrt(m);for (i = 2; i tmp)cout m ;sum += m;coutendl;coutsum=sumendl;return 0;9. 以下程序的功能是以每行5个数来输出300以内能被
7、7或17整除的偶数,并求出其和。输入格式:无输出格式:每个数据以一个空格隔开,5个一行 和另起一行输出 cout sum= sumendl;#includeusing namespace std;int main()int i, n, sum;sum = 0;n = 0;for (i = 1; i 300 ; i+)if (i % 7 = 0 | i % 17 = 0)if (i % 2 = 0)sum = sum + i;n+;cout i ;if (n % 5 = 0) cout endl;coutendl;cout sum= sumendl;return 0;10从键盘上输入若干名学生的
8、成绩,以一个负分结束输入,计算平均成绩并统计90分以上的学生人数。输入信息格式要求:cout请输入学生成绩,以负数结束输入:endl;输出信息格式要求:输出平均成绩和90分以上的学生人数,中间用空格分隔,输出结束后换行结束程序#includeusing namespace std;int main()int score, n = 0, t = 0;double sum = 0, average;cout 请输入学生成绩,以负数结束输入: score;while (score = 0)if (score = 90)t = t + 1;sum = sum + score;n = n + 1;cin
9、 score;if (n 0)average = sum / n;cout average t endl;return 0;11. 从键盘输入一批非零整数,输出其中的偶数、奇数的平均值,用零作为终止标记。输入格式要求:无输出提示信息格式要求: 偶数平均值: 奇数平均值:#includeusing namespace std;int main()int x, i = 0, j = 0;float s1 = 0, s2 = 0, av1, av2;cin x;while (x != 0)if (x % 2 = 0)s1 = s1 + x;i+;elses2 = s2 + x;j+;cin x;if
10、 (i != 0) av1 = s1 / i;else av1 = 0;if (j != 0) av2 = s2 / j;else av2 = 0;cout 偶数平均值: av1 endl;cout 奇数平均值: av2 endl;return 0;12. 程序设计: 打印如下图案 * * * * *输入信息格式提示: 无输出信息格式提示: 无#include using namespace std;int main()int i, j;for (i = 1; i = 5; i+)for (j = 1; j = i; j+) cout ;for (j = 1; j = 5; j+)cout *
11、;cout endl;return 0;13. 程序设计: 打印出1000以内的同时满足如下条件的数,个位数字与十位数字之和除以10所得的余数等于百位数字输入提示信息格式:无输出提示信息格式:无 #include #include #includeusing namespace std;int main()int a, b, c, d, i, j, flag = 1;for (i = 3; i 1000; i+)for (j = 2, flag = 1; j = sqrt(i) & flag; j+)if (i % j = 0) flag = 0;if (flag = 1)a = i / 10
12、0;b = (i - a * 100) / 10;c = i - a * 100 - b * 10;d = b + c - (c + b) / 10 * 10;if (d = a)cout setw(5) i;return 0;14. 打印水仙花数及个数 n (水仙花数是三位数,每位数字的立方和等于这个数本身)。输入格式要求:无输出结果:153,370,371,407,n=4#includeusing namespace std;int main ()int a, b, c, i, n = 0;for (i= 100; i = 999; i+)a = i / 100;b = (i- a * 1
13、00) / 10;c = (i - a * 100 - b * 10);if (i = a * a * a + b * b * b + c * c * c) n+;cout i , ;coutn=nendl;return 0;15. 程序设计:计算T=1-1/2+2/3-3/4+-29/30输入提示信息格式说明: 无输出提示信息格式说明: 无输出结果:0.323242#include using namespace std;int main() int f, k;float t1, t = 1;f = -1;for (k = 2; k = 30; k+)t1 = (float)(k - 1)
14、/ k;t += t1 * f;f = -f;cout t;return 0;16用1,2,3可组成多少各位无重复的3位数,分别输出,用一个空格分隔,每行输出3个数输入格式要求:无#include using namespace std;int main( )int i, j, k, n = 0;for ( i = 1; i = 3; i+ )for ( j = 1; j = 3; j+ )for ( k = 1; k = 3; k+ )if ( i != j & i != k & k != j )cout i j k ;n+ ;if (n % 3 = 0)cout endl;cout end
15、l;return 0;17. 程序设计: 在100,5000之间打印出各位数字和为5的所有整数的个数.输入信息格式提示:无输出信息格式提示:无#include using namespace std;int main()int a, b, c, d, k, i;k = 0;for (i = 104; i = 500; i+)a = i / 100;b = (i - a * 100) / 10;c = i - a * 100 - b * 10;if (a + b + c = 5) k+;for (i = 1000; i = 5000; i+)a = i / 1000;b = (i - a * 1
16、000) / 100;c = (i - a * 1000 - b * 100) / 10;d = i - a * 1000 - b * 100 - c * 10;if (a + b + c + d = 5) k+;cout k;return 0;18. 以下程序的功能是用公式/4=1-1/3+1/5-1/7+.求的近似值。要求直到最后一项的绝对值小于1e-6为止。输出提示信息格式控制: cout pi= pi endl;#include#include using namespace std;int main()double t, pi, a, b;pi = 0;a = 1;b = 1;t =
17、 a / b;while (fabs(t) = 1e-6)pi = pi + t;a = -a;b = b + 2;t = a / b;pi = pi * 4;cout pi= pi endl;return 0;19. 从键盘输入一个正整数,判断是否能写成2个素数之和,并输出所有的素数组合输入格式要求:无输出结果要求:每组占一行,以逗号分隔 例如,输入5,则输出:2,3 3,2#include using namespace std;int main( )int x, f1, f2;cin x;int n;for (n = 1; n = x - 1; n+)f1 = 1;int i;for (
18、i = 2; i = n - 1; i+)if (n % i = 0)f1 = 0;f2 = 1;for (i = 2; i = x - n - 1; i+)if (x - n) % i = 0)f2 = 0;if (f1 = 1 & f2 = 1)cout n , x - n endl;return 0;20. 有若干个数放入数组中,计算其中正数的平均值aver.设:float a6 = 39, -47, 21, 2, -8, 15, aver;输入格式要求:无输出结果为:aver=19.25#includeusing namespace std;int main ()int i = 0,
19、n = 0;float a6 = 39, -47, 21, 2, -8, 15, aver,sum = 0;for (i=0;i 0)sum = sum + ai;n+;aver = sum / n;cout aver= aver endl;return 0;21. 用迭代法解方程 x+sin(x)-3=0输入格式要求:无迭代次数:200每隔10次查看迭代误差,格式: cout 迭代误差 = fabs(x - xx) endl;输出结果格式: x=2.17976#include #include using namespace std;int main( )double x = 0.1;double xx;for (int n = 1; n = 200; n+)xx = x;x = 3 - sin(xx);if (n % 10 = 0)cout 迭代误差 = fabs(x - xx) endl;cout x= x endl;return 0;22. 判断一个数23437是否是素数(要求程序中设置一个参数flag,
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1