#define _CRT_SECURE_NO_WARNINGS 1
//练习
//1.计算n的阶乘。
//#include<stdio.h>
//
//int main()
//{
// //输入一个计算该阶乘的数
// int i = 0;
// int sum = 1;//sum用于统计阶乘结果
// printf("请输入一个数:>");
// scanf("%d", &i);
// for (int j = 1; j < i + 1; j++)
// {
// sum *= j;
// }
// printf("%d的阶乘为:%d\n", i, sum);
//
// return 0;
//}
////2.计算1! + 2! + 3! + ...… + 10!
//#include<stdio.h>
//
//int main()
//{
// //输入一个计算该阶乘的数
// int i = 0;
// int result = 0;//result用于统计每个阶乘和的结果
// printf("请输入一个数:>");
// scanf("%d", &i);
// for (int j = 1; j < i + 1; j++)
// {
// int sum = 1;//sum用于统计每个阶乘的结果
// for (int k = 1; k < j+1; k++)
// {
// sum *= k;
// }
// result += sum;
// }
// printf("%d的阶乘和为:%d\n", i, result);
//
// return 0;
//}
//优化:
//2.计算1! + 2! + 3! + ...… + 10!
#include<stdio.h>
int main()
{
while (1)
{
//输入一个计算该阶乘的数
int i = 0;
int sum = 1;
int f = 0;
int result = 0;//result用于统计每个阶乘和的结果
printf("请输入一个数:>");
scanf("%d", &i);
for (int j = 1; j < i + 1; j++)
{
sum = sum * j;
result += sum;
}
printf("%d的阶乘和为:%d\n", i, result);
printf("是否结束求解(Y/N):>");
scanf("%d", &i);
scanf("%c", &f);
if ('Y' == f)
{
printf("循环结束\n");
break;
}
}
return 0;
}
//3.在一个有序数组中查找具体的某个数字n。编写int binsearch(int x,int v[],int n);功能:在v[O]
//<= V[1] <= V[2] <= ... <= v[n - 1]的数组中查找x.
#include<stdio.h>
int main()
{
int binseatch[10] = { 1,2,3,4,5,6,7,8,9,10 };
int i = 0;
printf("该数组中的数有:");
for (int j = 0; j < sizeof(binseatch) / sizeof(binseatch[0]); j++)
{
printf("%d\t", binseatch[j]);
}
printf("\n请输入要查找的数:>");
scanf("%d", &i);
int result = 0;
for (int j = 0; j < sizeof(binseatch) / sizeof(binseatch[0]); j++)
{
if (i == binseatch[j])
{
printf("该元素的位置是%d\t", j);
result++;
}
}
if (result == 0)
{
printf("该数组没有该元素!");
}
return 0;
}
//优化
//二分查找
int main()
{
//定义一个要查找的数组
int arr[10] = { 1,2,3,4,5,6,7,8,9 };
//定义一个要查找的数
int x = 66;
//定义数组的左下标
int left = 0;
//定义数组的右下标
int right = sizeof(arr) / sizeof(arr[0])-1;
while (left <= right)
{
if (x == arr[(left + right) / 2])
{
printf("该数的下标为:%d\n", (left + right) / 2);
break;
}
else if(x > arr[(left + right) / 2])
{
left = (left + right) / 2 + 1;
}
else
{
right = (left + right) / 2 - 1;
}
}
if (left > right)
{
printf("没找到\n");
}
return 0;
}
//4.编写代码,演示多个字符从两端移动,向中间汇聚。
//5.编写代码实现,模拟用户登录情景,并且只能登录三次。(只允许输入三次密码,如果密码正确则提示登录成,如果三次均输入错误,则退出程序。
C语言学习Day07
原创
©著作权归作者所有:来自51CTO博客作者Huangyhua的原创作品,请联系作者获取转载授权,否则将追究法律责任
上一篇:C语言Day06
下一篇:C语言学习Day08

提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
C语言学习2
第二天
操作符 数组 字符串 -
C语言学习4
学习第四天打卡
全局变量 寄存器 局部变量 -
C语言学习3
继续学
数据类型 浮点 函数参数 -
Spring学习-day07
Spring管理bean的生命周期及spel
Spring 学习 -
python讲义学习 day07
day07
python 学习 大数据 元组