自己试着玩呢 //int main() //{ // char str[20]; // char *p = str; // scanf("%s", &p[2]); // printf("%s\n", str); // return 0; //}

练习:

1、

//作业:猜数字游戏 //1、电脑会生成一个随机数 //2、猜随机数

//void game() //{ // //1、在此处生成一个随机数,是每时每刻都在变化的 // int ret = 0; // int guess = 0; // ret = rand()%100+1;//生成1-100随机数 // // //2、猜数字 // while (1) // { // printf("请猜数字:"); // scanf("%d", &guess); // if (guess > ret) // { // printf("猜大了\n"); // } // else if (guess < ret) // { // printf("猜小了\n"); // } // else // { // printf("恭喜你,猜对了\n"); // } // } //} //void menu() //{ // printf("##########################\n"); // printf("#### 1.play 0.exit ####\n"); // printf("##########################\n"); //} //int main() //{ // //整个函数运行时,只需调用一次此函数 // //运动时间戳来设置随机数的成长起点 // //time_t time(time_t *timer),time_t是一个long型。 // //用srand对其操作,要用强类型转换。 // srand((unsigned int)time(NULL)); // int input = 0; // do // { // menu(); // printf("请选择:"); // scanf("%d", &input); // switch (input) // { // case 1: // game(); // break; // case 2: // printf("退出游戏\n"); // break; // default: // printf("选择错误,请重新选择\n"); // break; // } // } while (input); //}

2、

//写9*9乘法表

//int main() //{ // int i = 0; // for (i = 1; i <= 9; i++) // { // int j = 1; // for (j; j <= i; j++) // { // // %2d就是两位数,然后右对齐 // // %-2d也是两位数,然后左对齐 // printf("%d*%d=%-2d ", i, j, i*j); // } // printf("\n"); // } //}

3、

//判断一个数组中的最大值

//int main() //{ // int arr[] = { -1,-2,-3,-4,-5,-6,-7,-8,-9,-10 }; // int max = arr[0]; // int i = 0; // int sz = sizeof(arr) / sizeof(arr[0]); // for (i; i < sz; i++) // { // if (arr[i] > max) // { // max = arr[i]; // } // } // printf("%d\n", max); // return 0; //}

4、

//计算1/1-1/2+1/3-1/4+……+1/99-1/100的值

//int main() //{ // int i = 0; // double sum = 0.0; // int flag = 1; // for (i = 1; i <= 100; i++) // { // // 1.0/i可以显示除小数点后面的数字 // sum += flag * 1.0 / i; // flag = -flag; // } // printf("%lf\n", sum); // return 0; //}

5、

//判断素数 //<素数求解的n种境界>

//第三种方法

//int main() //{ // int i = 0; // int count = 0; // for (i = 101; i <= 200; i+=2) // { // //判断i是否为素数 // //方法1 试除法 // //产生2-(i-1),看i是否能被这些数字整除 // int j = 0; // for (j = 2; j <= sqrt(i); j++) // { // if ((i%j) == 0) // { // break; // } // } // if (j>sqrt(i)) // { // count++; // printf("%d\n", i); // } // } // printf("count= %d\n", count); // return 0; //}

//第二种方法

//int main() //{ // int i = 0; // int count = 0; // for (i = 100; i <= 200; i++) // { // //判断i是否为素数 // //方法1 试除法 // //产生2-(i-1),看i是否能被这些数字整除 // int j = 0; // for (j = 2; j <= sqrt(i); j++) // { // if ((i%j) == 0) // { // break; // } // } // if (j > sqrt(i)) // { // count++; // printf("%d\n", i); // } // // } // printf("count= %d\n", count); // return 0; //}

//第一种方法

//int main() //{ // int i = 0; // int count = 0; // for (i = 100; i <= 200; i++) // { // //判断i是否为素数 // //方法1 试除法 // //产生2-(i-1),看i是否能被这些数字整除 // int j = 0; // for (j = 2; j < i; j++) // { // if ((i%j) == 0) // { // break; // } // } // if (j == i) // { // count++; // printf("%d\n", i); // } // } // printf("count= %d\n", count); // return 0; //}

6、

//打印闰年

//int main() //{ // int year = 0; // int count = 0; // for (year = 1000; year <= 2000; year++) // { // //闰年判断规则 // //1、能被4整除并且不能被100整除的是闰年 // //2、能被400整除的是闰年 // if ((year % 4) == 0 && (year % 100) != 0) // { // printf("%d\n", year); // count++; // } // else if((year % 400) == 0) // { // printf("%d\n", year); // count++; // } // } // printf("count= %d\n", count); // return 0; //}

7、

//求两个数字的最大公约数(辗转相除法)

//int main() //{ // int m = 36; // int n = 72; // int r; // while (m%n) // { // r = m % n; // m = n; // n = r; // } // printf("%d\n", n); // return 0; //}

总结:

1、学习了如何能让一个代码的实现能够慢慢优化,当然现在还在学习阶段。 2、在生成随机数的时候,如何让生成的随机数变得无迹可寻,这里用到了使用时间戳的办法以及如何调用srand函数去运用时间戳来生成真正随机的数字。 3、当不知道库函数的用法的时候,要学着去阅读手册,了解库函数的介绍以及里面形参的类型,这样方便我们认识函数以及如何正确的传入实参。