关于for循环的练习题:

文章讲述了如何使用C语言计算一个数的阶乘以及求1至10阶乘的和。通过循环结构和变量累加实现阶乘计算,同时展示了在有序数组中查找特定数字的代码示例,利用线性搜索找到目标值的下标或确定其不存在。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1:计算n的阶乘:

我们要计算n的阶乘,我们就要知道阶乘的含义,即1*2*3*4.....*n;

那我们既然知道了阶乘的含义,我们就可以定义第一个阶乘数的初始值为1;即int n =1;

那么我们要算出n的阶乘,我们就可以给n一个初始值,我设定的为1.

那么当我们知道第一个阶乘值i,和最后一个值n的时候,我们就可以按逻辑写出,i = 1;那么如果第一个数 i 小于或等于我们的最后一个数n的时候,我们就进入循环,进入循环以后呢我们就可以开始计算,*1,*2,*3,我们利用一个函数chr来接收乘完以后所得的值,然后我们再定义一个he,把我们的结果加到一起,就可以知道我们的阶乘所得的和了。然后我们利用打印函数将得数打印到我们的屏幕上,就可以得到结果了。

#include<stdio.h>


int main()
{
	int i = 0;  //定义第一个数
	int n = 1;  //定义最后一个数
	int chr = 1;  //定义一个乘法算完以后的结果
	int he = 0; //定义将结果加到一起的承受函数
	scanf_s("%d", &n);  //通过这个函数我们可以自定义n的数值。
	for (i = 1; i <= n; i++)  //设置初始值i = 1;如果i<我们定义的n,进入循环,循环后i++。
	{
		chr = chr * i;  //计算阶乘,利用chr来接收阶乘的得数。
		he += chr;  //利用我们的he将chr接收的阶乘的数值加到一起。
	}
	printf("%d\n", he);  //打印到屏幕输出得数。
	return 0;
}

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

看到第二题我们就可以得出,要我们计算1~10阶乘的和,那么通过我们上面的代码进行更改,就可以简单的得到我们需要的结果。

下面是我们的代码:

#include<stdio.h>


int main()
{
	int i = 0;
	int chr = 1;
	int he = 0;
	for (i = 1; i <= 10;i++)
	{
		chr = chr * i;
		he += chr;
	}
	printf("%d\n", he);
	return 0;
}

可以看到我们将定义的n去掉直接将n的值改为了10这样就可以完美的运行我们的1~10的阶乘和这个代码啦。

3:在一个有序数组中查找具体的某个数字n。

#include<stdio.h>



int main()
{
	char arr[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
	int k = 0;
	scanf_s("%d\n", &k);
	int i = 0;
	int sz = sizeof(arr) / sizeof(arr[0]);
	for (i = 0; i < sz; i++)
	{
		if (arr[i] == k)
		{
			printf("找到了,下标是:%d\n", i);
			break;

		}
		else(arr[i] > sz);
		{
			printf("找不到");
			break;
		}
	}
	return 0;
}

从以上代码可以看出,我们先定义一个char类型的arr数组,设置我们要找到的下标数字为k,初始化值为0,通过scanf函数我们就可以自定义k的值, 然后我们设置 i 为要找到的下标,我们设置一个int类型的sz来存储我们 arr[] 内的字符个数,利用总数,除以第一个数,就可以得到我们的总字符个数,然后我们通过for函数,设置i的初始值为0,如果 i 小于我们的总数   sz 我们进入循环,如果我们的 arr[i]; 等于我们设置的自定义数值,我们就打印下标,并且利用break退出我们的循环。

那么如果我们自定义输入的数字大于我们的 sz,我们就打印找不到。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小王的创意工坊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值