n的阶乘:n!
int main()
{
int a, b, c;
int d = 0;
scanf(
"%d" ,&d);
for (a = 1, b = 1, c = 1; a != 0; a++)
{
if (a == 1 && d == 1)
{
printf(
"1!=1\n");
break;
}
else
{
c = a * b;
if (a == d)
{
printf(
"%d!=%d\n", a, c);
break;
}
//printf("%d!=%d\n", a, c);
b = c;
}
}
return
0;
}
简易算法
int a = 1;
int b = 1;
int c = 1;
scanf(
"%d",&c);
for (a = 1, b = 1; a <= c; a++)
b = b * a;
printf(
"%d!=%d\n", c, b);
return 0;
n!的前n项和
int a = 1;
int b = 1;
int c = 1;
int d = 0;
scanf(
"%d",&c);
for (a = 1, b = 1; a <= c; a++)
{
b = b * a;
d = d + b;
}
printf(
"sum=%d\n",d);
return 0;
数组二分查找法
int arr[] = { 1,2,3,4,5,6,7,8,9 };
int k = 11;
int sz =
sizeof(arr) /
sizeof(arr[0]);
int left = 0;
int right = sz - 1;
while(left<=right)
{
int mid = (left + right) / 2;
if (arr[mid] > k)
{
right = mid - 1;
}
else
if (arr[mid] < k)
{
left = arr[mid] + 1;
}
else
{
printf(
"找到了!下标是:%d\n", mid);
break;
}
}
if(left>right)
{
printf(
"找不到\n");
}
return 0;
由外而内打印
char arr0[] =
"welcome to my town!!!!";
char arr1[] =
"######################";
int left = 0;
//int right = sizeof(arr0) / sizeof(arr0[0]) - 2;
int right = strlen(arr1) - 1;
while (left <= right)
{
arr1[left] = arr0[left];
arr1[right] = arr0[right];
printf(
"%s\n", arr1);
Sleep(500);
system(
"cls");
//清空屏幕
left++;
right--;
}
printf(
"%s\n", arr0);
return 0;
输入密码
int i = 0;
char password[20] = { 0 };
for(i=1;i<=3;i++)
{
printf(
"请输入密码:>");
scanf(
"%s", password);
if (strcmp(password,
"123123") == 0)
{
printf(
"密码正确\n");
break;
}
else
if (i == 3)
{
printf(
"滚\n");
printf(
"密码错误,请重新输入\n");
}
else
printf(
"密码错误,请重新输入\n");
}
return 0;