Other
1.计算数组的长度
1. m=sizeof(arr)/sizeof(arr[0]) 2. //m的值为数组arr存储数据的个数
2.暂停
1. include<windows.h> 2. 3. sleep(1000)暂停1s继续执行程序
3.比较数组
1. #include<string.h> 2. strcmp(a,b) //当数组a与数组b相等时 return 0
4.生成随机数
1. include<stdlib.h> 2. srand((unsigned int)(time(NULL)));//随机生成一个anser 3. n = rand(); 4. 5. //生成的随即谁被赋值到n
一.查找
1.穷举查找(一个一个比较)
int qiongjv(int arr[], int a) { int n = 0; int max = sizeof(arr) / sizeof(arr[0]) - 1;//使用sizeof(arr)/sizeof(arr[0])计算arr的长度 while (1) { if (arr[n] == a) { printf("这个数的下标为%d", n); break; } else if (arr[n] != a) { n++; } else if (n > max) { printf("查找失败\n"); break; } } }
2.二分查找/折半查找
int zheban(int arr[],int a) //在数组arr[]中查找a的下标 { int left = 0; int right = sizeof(arr) / sizeof(arr[0]) - 1;//使用sizeof(arr)/sizeof(arr[0])计算arr的长度 int mid = (left + right) / 2; printf("请输入想要查找的数:"); scanf("%d", &a); while (1) { if (arr[mid] < a) { left = mid + 1; mid = (left + right) / 2; } else if (arr[mid] > a) { right = mid - 1; mid = (left + right) / 2; } else if (left > right) { printf("查找失败"); } else { printf("数字a的在数组中的下标为:%d", mid); break; } } }
二.可以练习的算法
1.折半查找的实现
2.猜数字游戏
#define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<string.h> #include<time.h> #include<stdlib.h> int game(int anser) { int a=0; while (a != anser) { printf("请输入你猜的一个数字(1--100):"); scanf("%d", &a); if (a > anser) { printf("答案小于你输入的数\n"); } else if (a < anser) { printf("答案大于你输入的数\n"); } else { printf("恭喜你猜对了\n"); break; } } return 0; } int main()//猜数字游戏 { char a[5] = { "0" }, yes[5] = { "yes" }, no[5] = { "no" }; while (0 != strcmp(a, no)) { printf("是否玩游戏(yes/no)"); scanf("%s",a); if (0 == strcmp(a, yes))//输入yes的情况 { srand((unsigned int)(time(NULL))); int anser =rand()%100+1; game(anser); } else if (0 == strcmp(a, no))//输入no的情况 { printf("游戏结束\n"); break; } else//输入错误时 { printf("输出错误请重新输入yes/no\n"); } } return 0; }
3.关机恶搞
使用:
①鼠标右键自己的exe程序,创建快捷方式
②win+R,打开运行对话框,输入shell:startup
③将exe文件的的快捷方式拷贝到这个目录下,然后下次重启的时候自己的应用程序就可以自启动了。
解除:
①win+R,打开运行对话框,输入shell:startup,删除文件
效果:可以每次开机都让小伙伴输入某句话,不输入就不能开机
#define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<stdlib.h> #include<string.h> int main() { int a[10]; flag: printf("请输入\"我是猪\",否则电脑将在一分钟后关闭\n"); //“我是猪”此语句可由制定者自由更改,不过后面相应的位置也要记得改动 system("shutdown -s -t 60"); //60秒倒计时关机命令,时间可自由更改 scanf("%s", a); //玩家从键盘键入字符串 if (strcmp(a, "我是猪") == 0) { //比较两个字符串,若相等则执行IF下的语句 printf("恭喜你成功选择自己的属相,主动承认现实!\n"); system("shutdown -a"); //结束自动关机倒计时命令,当然也可以打破规则,取消该语句,不过那样就太邪恶了 } else { printf("输入错误,请继续输入,否则即将关机\n"); goto flag; //跳转语句,跳转至flag标记处继续执行 } }