1、第3章 C+程序设计基础,温蜜 上海电力学院计信学院,本章主要内容,1输入三个整数,再将这三个整数按从小到大的顺序输出。 2.模拟剪刀、石头和纸游戏,用s表示剪刀,r表示石头,p表示纸。游戏规则为:剪刀剪纸,石头砸剪刀,纸包石头。两名游戏者分别输入s、r或p,按照游戏规则输出结果。 3.从键盘上输入一个整数,输出该整数的所有素因子。例如,输入120,输出为2、2、3和5。 4找出100到200之间满足用3除余2且用5除余3且用7除余2的所有整数。 5,如果一个整数恰好等于它的所有因子之和,则这个数称为完数。例如6=1+2+3,所以6为完数。编程判断一个输入的整数n是不是完数,如果是则输出该数
2、是完数,否则输出该数不是完数。,1输入三个整数,再将这三个整数按从小到大的顺序输出。#include using namespace std; void main() int a,b,c;cout a bc; ,方法1:遍历所有比较,方法2:按位置比较,保证小在前,if(ab)t=a;a=b;b=t;if(ac)t=a;a=c;c=t;if(bc)t=b;b=c;c=t;coutatbtcendl,2.模拟剪刀、石头和纸游戏,用s表示剪刀,r表示石头,p表示纸。游戏规则为:剪刀剪纸,石头砸剪刀,纸包石头。两名游戏者分别输入s、r或p,按照游戏规则输出结果。,void main()char x,
3、y;coutx;couty;switch(x)case:sif (y=s) cout“ping“endl; break; else if(y=r)cout“y is the winner!“endl; break; else if(y=p)cout“ x is the winner “endl; break; case:r .,3. 从键盘上输入一个整数,输出该整数的所有素因子。例如,输入120,输出为2、2、2、3和5。,#include using namespace std;int main( ) int x;cinx;for (int i=2;i=x;i+) if (x%i=0)x/=
4、i;if(x=1)couti; break; couti“ “;i=1;return 0;,4,找出100到200之间满足用3除余2且用5除余3且用7除余2的所有整数。,void main() int i; for(i=100;i=200;i+)if(i%3=2 ,5:如果一个整数恰好等于它的所有因子之和,则这个数称为完数。 例如6=1+2+3,所以6为完数。编程判断一个输入的整数n是不是 完数,如果是则输出该数是完数,否则输出该数不是完数。,#include using namespace std; int main() int n,i,sum=1;coutn; for(i=1;in;i+)
5、if(n%i=0)sum+=i;if(sum=n)coutn“是完数。“endl;elsecoutn“不是完数。“endl;return 0; ,今日内容,单功能的函数可以改成自定义函数,从而在主函数中调用它来实现复杂的功能。,1,如何求解n个自然数之和,#include using namespace std;int main( ) int i=1, sum=0;int n; cinn;while ( i=n) sum += i;+i;cout “sum=”sum ;return 0;,long s( int n) int sum=0;while ( i=n) sum += i;+i;ret
6、urn(sum);,编写一个求n个自然数的和的函数,#include using namespace std;,void main( ) cout“55个自然数的和:“ s (55) endl;,函数调用,函数返回值,2.编程序计算 5!,#include using namespace std;int main( ) int i=1, f=1;while ( i=5 ) f *= i;+i;cout “f=”f ;return 0;,3 今日练习 : 判断一个数m是否是质数。 (质数是大于1且只能被1和它本身整除的数)。,#include void main( ) int m, i, k, flag = 1;cin m;k = sqrt(m);for ( i=2; i=k; i+ )if ( m % i = = 0 ) flag=0; break;if ( flag = 1 )coutm“是质数n”;else coutm“不是质数n”;,void main( ) int m, i, k;for ( m=100; m=200; m+ ) / 判断是否是质数,/ 若是,则输出。 ,求100200之间的全部质数,