对于一个初学者来说,当看到自己写的程序0 错误 0警告 正常运行真的是有一种发自内心的激动,同时也更肯定了自己。能从中获得乐趣是最重要的,兴趣是最好的导师。
程序1:模拟实现用户登录的场景,可以自己设定密码,密码位数同样可以自己设定。登录次数也可以设定。
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main()
{
int i = 0;
char password[] = "123456";
char input[20];
while(i<3)
{
printf("请输入密码:\n");
scanf("%s",input);
if(strcmp(input,password) == 0)
{
printf("登陆成功");
break;
}
i++;
}
if(i == 3)
{
printf("三次密码输入错误,退出程序\n");
exit(1);
}
printf("取钱\n");
return 0;
}
为了考虑密码不能只为数字,所以我们定义了字符数组,存放字符串。同时通过设置input[20]来确定密码的位数;password[]可以随时改密码;这个的输入次数用for循环和while循环都可以实现,循环内部我们用的strcmp这个函数来比较输入和密码是否相同,也为了防止循环内部条件成立会继续执行接下来的部分,用break;语句跳出循环,还在循环外边加了if语句区分是跳出循环和while循环条件不成立时跳出来的两种情况。最后通过调试一步步执行确定程序完全按照自己所预期的那样执行的,完成程序。
程序2:编写一个数字游戏,电脑产生一个1-100之间的随机数,然后我们来猜测这个随机数,电脑反馈猜大猜小。最后猜出正确结果,游戏结束。
#include <stdio.h>
#include<time.h>
#include<stdlib.h>
#include<string.h>
main()
{
int i,n, guess;
int j = 0;
int arr[100] = {0};
int left = 0 , right = sizeof(arr)/sizeof(arr[0]);
int mid = 0;
srand(time(0));
i=rand()%100+1;
for(n = 1;n<100;n++)
{
arr[n-1] = n;
}
printf(" 这是一个1-100内猜数字的游戏 ");
printf(" 游戏规则:请猜出电脑随机产生的数字大小,会根据你的输入给出提示。\n");
printf(" 只有五次机会哦!好好把握\n");
printf(" 游戏开始:");
scanf("%d",&guess);
while(j<4)
{
if(i==guess)
{
break;
}
if(guess<i)
{
printf("有点小了 加油!!!再试一次吧:");
scanf("%d",&guess);
j++;
continue;
}
if(guess>i)
{
printf("有点大了 加油!!!再试一次吧:");
scanf("%d",&guess);
j++;
continue;
}
}
if(j<4)
printf("猜对啦 你真棒!!!\n");
else
printf("真遗憾,再试一次吧!");
return 0;
}
这个程序首先使用随机函数产生一个1-32767的随机数,然后通过对这个数%100使得它的范围控制在0-99之间,再通过+1使它的范围定位1-100;然后通过for循环为定义的一个数组赋值1-100,使得它满足我们的程序要求。再通过while循环的设置条件改变猜测次数,为了修复猜测时候的漏洞,增加了break;语句和continue;语句的使用,最后通过调试一步步确认程序完全按照自己的设计初衷执行,完成了这个程序的设计。
程序3:演示多个字符从两段向中间汇聚。
#include <stdio.h>
#include <string.h>
#include <windows.h>
int main()
{
char arr1[] ="##################";
char arr2[] ="...Unbelievable...";
int left = 0;
int right = strlen(arr1)-1;
printf("%s\n",arr1);
for(;left <= right;left++,right--)
{
arr1[left] = arr2[left];
arr1[right] = arr2[right];
Sleep(1000);
printf("%s\n",arr1);
}
return 0;
}
这个程序演示字符从两边向中间汇聚。是利用数组中方的字符串一个对另一个数组元素的赋值,还用了一个windows环境下的Sleep()函数,可以设置每行代码在显示时的间隔时间,单位是毫秒,也是利用了for循环设置的循环,条件是赋值的数组元素左下标小于等于右下标。按调试一步步显示程序是正确的。