写代码:先想到解决的思路(编程思维),再写代码(即按照语法形式将想到的思路写出来)
1.计算n的阶乘(不考虑溢出的问题)
2.计算1!+2!+3!+4!+5!+6!+7!+8!+9!+10!
两种方法
第一种:先求阶乘再相加
1!+2!+3!+4!+......
第二种:便求阶乘变相加
1+1*2+2*3+6*4+24*5......
1+1*2+1*2*3+1*2*3*4+1*2*3*4*5+.....
1!+2!+3!+4!+.....
3.在一个有序数组中查找具体的某个数字n(二分查找)
mid求中间值还可以使用mid=left+(rigth-left)/2表示;但不能使用mid=left/2+right/2表示,因为除以2是整数除法,会出现误差,除以一次误差可忽略,除以两次误差就不可以忽略了
4.编写代码,演示多个字符从两端移动,向中间汇聚
5.编写代码实现,模拟用户登录情景,且只能登陆三次。(只允许输入三次密码,如果正确则提示登陆成功,如果三次均输入错误,则退出程序)
6.猜数字游戏实现
菜单界面
#include<stdio.h>
void menu()
{
printf("******************\n");
printf("***** 1.开始 *****\n");
printf("***** 0.结束 *****\n");
printf("******************\n");
}
int main()
{
int input = 0;
do
{
menu();
printf("请选择:>");
scanf("%d", &input);
switch (input)
{
case 1:
printf("猜数字\n");
game();//猜数字的整个逻辑;
break;
case 0:
printf("退出游戏\n");
break;
default:
printf("选择错误,重新选择\n");
break;
}
} while (input);
return 0;
}
猜数字游戏的实现
//电脑产生一个随机数(1-100)
//猜数字
//反馈猜大了,猜小了
//知道猜对了
#include<stdio.h>
#include<time.h>
#include<stdlib.h>
void menu()
{
printf("******************\n");
printf("***** 1.开始 *****\n");
printf("***** 0.结束 *****\n");
printf("******************\n");
}
void game()
{
int guess = 0;
int ret=rand()%100+1;//生成随机书的函数
while (1)
{
printf("请猜数字:>");
scanf("%d", &guess);
if (guess == ret)
{
printf("猜对了");
break;
}
else if (guess < ret)
{
printf("猜小了");
}
else
{
printf("猜大了");
}
}
}
int main()
{
int input = 0;
srand((unsigned int)time(NULL));//使用时间戳来生成随机数的开始数字
do
{
menu();
printf("请选择:>");
scanf("%d", &input);
switch (input)
{
case 1:
printf("猜数字\n");
game();//猜数字的整个逻辑;
break;
case 0:
printf("退出游戏\n");
break;
default:
printf("选择错误,重新选择\n");
break;
}
} while (input);
return 0;
}