Essential C++的例子学习2008-04-07 16:54:44 来源:中国自学编程网 作者:佚名 点击:
![]() l2 = temp; }
////////////////////// #include <stdio.h>
int a[20]; file://定义一个数组,该数组的用来存放6个数列的数。 int i; file://定义全局变量 i;方便6个函数用做循环。 int w,e; file://定义全局变量 w e,用来记录做对的次数和做错的次数。
int l,k,j,h,q,f; file://定义全局变量l k j h q f,分别记录没个数列使用的次数。 main() { int a,b; welcome(); file://欢迎界面。 system("cls"); file://清屏。 do {srand((unsigned)time(NULL)); file://添加新的种子,以便rand()可以随机取出不同的值。 a=rand()%6; file://随机取得一个0--5之间的数。 switch(a) file://随机选择数列。 { case 0:fib();break; case 1:luc();break; case 2:pel();break; case 3:tri();break; case 4:squ();break; case 5:pen();break; } gameover(); file://使游戏结束的提示。 } while(getch()!=’ ’); file://一但按下空格,就推出循环。 printf("Fibonacci的个数:%d\n",l); file://打印 Fibonacci的个数。 printf("Lucas的个数:%d\n",k); file://打印 Lucas的个数。 printf("Pell的个数:%d\n",j); file://打印 Pell的个数。 printf("Triangular的个数:%d\n",h); file://打印 Triangular的个数。 printf("Square的个数:%d\n",q); file://打印 Square的个数。 printf("Pentagonal的个数:%d\n",f); file://打印 Pentagonal的个数。 printf("一共做对的个数:%d\n",w); // 一共做对的个数。 getch(); } int sj() file://此函数用来随机选取一个1到10的整数数。 { int n1; srand((unsigned)time(NULL)); n1=abs(rand()%10)+1; return n1; } /* Fibonacci数列*/ /*首先给这个数列的第一个和第二个树加上特定的值,然后根据数列的算法把所有的值全部添加到数组a[]中*/ fib() { a[0]=1; a[1]=1; file://列的第一个和第二个数加上特定的值1。 for(i=0;i<20;i++) {a[i+2]=a[i+1]+a[i]; } file://该数列的算法。 printf3(); l++; file://随机打印该数列的3个数,记录次数。 } /* Lucas数列*/ /*首先给这个数列的第一个和第二个树加上特定的值,然后根据数列的算法把所有的值全部添加到数组a[]中*/ luc() { a[0]=1; a[1]=3; file://列的第一个和第二个数加上特定的值1和3。 for(i=0;i<20;i++) {a[i+2]=a[i+1]+a[i]; } file://该数列的算法。 printf3(); k++; file://随机打印该数列的3个数, 记录次数。 } /* Pell数列*/ /*首先给这个数列的第一个和第二个树加上特定的值,然后根据数列的算法把所有的值全部添加到数组a[]中*/ pel() { a[0]=1; a[1]=2; file://列的第一个和第二个数加上特定的值1和2。 for(i=1;i<20;i++) {a[i+2]=2*a[i+1]+a[i]; } file://该数列的算法。 printf3();j++; file://随机打印该数列的3个数,记录次数。 } /* Triangular数列*/ /*首先给这个数列的第一个和第二个树加上特定的值,然后根据数列的算法把所有的值全部添加到数组a[]中*/ tri() { a[0]=1; file://列的第一个数加上特定的值1。 for(i=0;i<20;i++) {a[i+1]=a[i]+i+2; } file://该数列的算法。 printf3();h++; file://随机打印该数列的3个数,记录次数。 } /* Square数列*/ /*首先给这个数列的第一个和第二个树加上特定的值,然后根据数列的算法把所有的值全部添加到数组a[]中*/ squ() { for(i=0;i<20;i++) {a[i]=(i+1)*(i+1); } file://该数列的算法。 printf3();q++; file://随机打印该数列的3个数,记录次数。 } /*Pentagonal数列*/ /*首先给这个数列的第一个和第二个树加上特定的值,然后根据数列的算法把所有的值全部添加到数组a[]中*/ pen() { for(i=0;i<20;i++) {a[i]=((i+1)*(3*i+2))/2; } file://该数列的算法。 printf3();f++; file://随机打印该数列的3个数,记录次数。 } printf3() file://随机打印函数 { int b,c; b=sj(); file://随机取得的数。 printf("欢迎使用猜数字游戏\n"); printf("%d %d %d 答案:%d\n",*(a+b),*(a+(b+1)),*(a+(b+2)),*(a+(b+3))); printf("请您输出第4个数!谢谢\n"); scanf("%d",&c); file://判断游戏者是否做对游戏。 if(c==*(a+(b+3))) file://如果做对就记录下次数 {printf("恭喜您答对了\n"); w++;} else file://否则 记录错的次数。 {printf("好笨哦!\n");e++;} getch(); system("cls"); } welcome() file://欢迎界面 { printf("欢迎进入猜数字游戏\n"); printf("本游戏规则如下:\n"); printf("在游戏开始后,系统将自动输出3个数字\n"); printf("请您根据这3个数的运算规则输入第4个数,\n"); printf("在每次游戏结束后可按空格退出。\n"); printf("按任意键进入游戏\n"); getch(); } gameover() file://提示。 { printf("退出请按空格,继续请按其他键\n"); } /////////////////////////////////////////////////////////////////// /*将pentagonal求值函数分为两个,其中之一为inline,用来检验合法性,合理且未被计算过,便调用第二个函数,执行求值工作*/ #include <iostream> #include <string> #include <vector> using namespace std; 相关文章:
|