标题 循环语句
1.阶乘的算法:#include <stdio.h>//乘阶的代码
int main()
{
int n;
int i = 0;
scanf_s("%d", &n);
int ret = 1;
for (i = 1; i <= n; i++)
{
ret = ret * i;
};
printf(“ret=%d\n”, ret);
return 0;
}
2.自动加的阶乘
int main()
{
int sum = 0;
int ret = 1;
int i = 0;
for (i = 1; i <= 5; i++)
{
ret = ret * i;
sum = ret + sum;
}
printf(“sum = %d”, sum);
return 0;
}
3.二分法找数
#include <stdio.h>//找数的代码
int main()
{
int b = 1;
int i = 0;
int arr[] = { 1,2,3,4,5,6,7,8,9,10 };
int k = sizeof(arr) / sizeof(arr[0]);
for (i = 0; i < k; i++)
{
if (arr[i] == b)
{
printf(“找到了,下标是:%d”,i);
break;
}
}
if (i == k)
printf(“没有找到\n”);
return 0;
}
4.移动的字符
#include <stdio.h>
#include <string.h>
#include <windows.h>
#include <stdlib.h>
int main()
{
//int 和我们的char类型是不同的,char arr[] = “abc”,int arr[] = {}, “abc"实际上是有[a,b,c,\0]。
//下标一共有4个,所以下面的题目用sizeof来计算表达式长度,得减2才能得到right。
char arr1[] = “welcome to bit!!!”;
char arr2[] = “###################”;
int left = 0;
int right = strlen(arr1) - 1;//strlen函数的头文件是#include <string.h>
while (left<=right)
{
arr2[left] = arr1[left];
arr2[right] = arr1[right];
printf(”%s\n", arr2);
right–;
left++;
Sleep(1000);//休息函数,休息一秒,头文件是#include <windows.h>
system(“cls”);//这是个清空函数得记,要头文件#include <stdlib.h>
}
printf(“welcome to bit”);
return 0;
}
5.密码输入问题
#include <stdio.h>
#include <string.h>
int main()
{
printf(“请输入密码:<”);
int ch = { 123456 };
int n = 0;
int i;
for (i = 0; i < 3; i++)
{
scanf_s("%d", &n);
if (n == ch)
{
printf(“密码输入成功\n”);
break;
}
else
printf(“密码错误\n”);
}
if (i == 3)
printf("密码输入失败,退出登陆\n");
return 0;
}
今天复习了鹏哥的第八节课:循环。收获挺大的,再接再厉未来可期。加油!