今天我们再来两个关于循环语句的小练习
一、两端字符向中间靠拢
分析代码:
首先引两个头文件,一个是string.h,另一个是windows.h
主函数创建两个数组,分别是自己想要打印出来的内容字符串和另一个数量对应的全是#的字符串
创建变量left赋值为0,right赋值为最后一个字符的下标(方法用strlen)
while循环:当left<=right时进入循环
将数组一的left和right都赋给数组二,打印数组二
left++,right--意味着向中间靠拢
这里的Sleep是使字符串可以在屏幕上停留很久,system("cls")是清除屏幕,就可以打印在一行
执行结果(没有用system的效果)
源代码:
#include<string>
#include<windows.h>
int main()
{
char arr1[] = "welcome to the c# world!!!!!";
char arr2[] = "############################";
int left = 0;
int right = strlen(arr1) - 1;
while (left <= right)
{
arr2[left] = arr1[left];
arr2[right] = arr1[right];
printf("%s\n", arr2);
Sleep(100);
system("cls");
left++;
right--;
}
printf("%s\n", arr2);
return 0;
}
二、输入3次密码内登录程序
分析代码:
引用string.h头文件
主函数创建变量i,以及char类型的数组,元素个数为20
foe循环:初始化i=0;判断i<3(3次机会);调整i++
打印“请输入密码”
scanf函数存入数组password
if语句:比较输入的密码和正确密码是否一致
这里用strcmp,格式如图
如果正确,语句为真,打印“登陆成功”
如果输入错误,进入else,打印“请重新输入”
直到3次机会用完,跳出循环,打印“三次密码输入错误,退出程序”
执行结果:
源代码:
#include<string.h>
int main()
{
int i = 0;
char password[20] = { 0 };
for (i = 0; i < 3; i++)
{
printf("请输入密码:>");
scanf("%s", &password);
if (strcmp(password, "123456")==0)
{
printf("登陆成功!\n");
break;
}
else
{
printf("密码错误,请重新输入\n");
}
}
if (i == 3)
{
printf("三次密码输入错误,退出程序!\n");
}
return 0;
}
总结
以上就是本人对于循环语句小练习:字符靠拢、输入密码程序的学习与理解