C语言练习题_1

Posted Qiue.

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言练习题_1相关的知识,希望对你有一定的参考价值。

注意:编译器使用为VS2019,由于编译器的缘故,以下代码的输入函数均写为scanf_s();​

  1. 计算 n的阶乘。

代码:

#include<stdio.h>

int main(void)
int n = 0;
int i = 0;
int result = 1;

printf("请输入整数n:");
scanf_s("%d",&n);
for (i = 0; i < n; i++)
result *= (i + 1);

printf("n!的值为%d。\\n",result);

return 0;

结果:

C语言练习题_1_C语言练习


  1. 计算 1!+2!+3!+……+10!

代码:

#include<stdio.h>

int main(void)
int n = 10;
int i = 0;
int j = 0;
int result_1 = 1;
int result_2 = 0;

for (i = 0; i < n; i++)
for (result_1 = 1,j = 0; j < i+1; j++)
result_1 *= (j + 1);

result_2 += result_1;


printf(" 1!+ 2!+ 3!+ …… + 10!的结果为:%d\\n",result_2);

return 0;

或者:(该方法较为简便,代码效率更高)

#include<stdio.h>

int main(void)
int n = 10;
int i = 0;
int j = 0;
int result_1 = 1;
int result_2 = 0;

for (i = 0; i < n; i++)
result_1 *= (i+1);
result_2 += result_1;


printf(" 1!+ 2!+ 3!+ …… + 10!的结果为:%d\\n",result_2);

return 0;

结果:

C语言练习题_1_C语言练习_02

C语言练习题_1_循环语句_03

  1. 在一个有序数组中查找具体的某个数字n。(讲解二分查找)

代码:

#include<stdio.h>

int main(void)
int arr[] = 1,2,3,4,5,6,7,8,9;
int k = 7;
int left = 0;
int right = sizeof(arr) / sizeof(arr[0]) - 1;
int mid = (left + right) / 2;


while (left <= right)
if (arr[mid] == k)
printf("%d的下标为%d。", k, mid);
break;

else if (arr[mid] > k)
right = mid - 1;
mid = (left + right) / 2;

else if (arr[mid] < k)
left = mid + 1;
mid = (left + right) / 2;


if (left > right)
printf("%d不在数组中。",k);



return 0;

结果:

C语言练习题_1_C语言练习_04


  1. 编写代码,演示多个字符从两端移动,向中间汇聚。

代码:

#include<stdio.h>
#include<string.h>

int main(void)
char arr[] = "Welcome to China!!!!!!";
int left = 0;
int right = strlen(arr) - 1;
int i;
while (left <= right)
for (i = 0; i < strlen(arr); i++)
if (i <= left || i >= right)
printf("%c", arr[i]);
else
printf("#");

printf("\\n");
left++;
right--;

return 0;

结果:

C语言练习题_1_循环语句_05

  1. 编写代码实现,模拟用户登录情景,并且只能登录三次。(只允许输入三次密码,如果密码正确则 提示登录成,如果三次均输入错误,则退出程序。

代码:

#include<stdio.h>
#include<string.h>

int main(void)

char arr[] = "abc";
char password[20]="0";
int i = 0;

for (i = 0; i < 3; i++)
printf("请输入密码:");
scanf_s("%s", password,10);
if (strcmp(password, arr) == 0)
printf("确认密码成功!\\n");
break;

else
printf("确认密码失败,请重试!\\n");


if (3 == i)
printf("3次确认密码均失败,请稍后再试!\\n");


return 0;

结果:

C语言练习题_1_循环语句_06

感谢大家的观看,如果有误,欢迎指出~~

以上是关于C语言练习题_1的主要内容,如果未能解决你的问题,请参考以下文章

C语言_文件操作相关练习题

C语言总结_数组知识点练习

C语言总结_数组知识点练习

C语言总结_数组与函数传参练习题

C语言总结_数组与函数传参练习题

编程打卡:C语言趣味编程习题做