Sum1(int n)//函数使用了一个简单的循环来计算阶乘的累加和。在每次循环中,它更新了阶乘的值并将其加到总和中
{
int p = 1, sum = 0, m;
for (m = 1; m <= n; m++)
{
p = m;
sum += p;
}
return (sum);
}
Sum2(int n)//函数也使用了循环,但在每次循环中,它重新计算了阶乘的值,而不是像 Sum1 那样简单地更新现有的阶乘值。
{
int sum = 0, p, m, t;
for (m = 1; m <= n; m++)
{
p = 1;
for (t = 1; t <= m; t++)
p = t;
sum += p;
}
return (sum);
}
fact(int n)//函数是一个递归函数,它通过递归方式计算阶乘。
{
if (n <= 1)
return (1);
else
return (n * fact(n - 1));
}
int main()
{
printf("%d\n", Sum1(5));
printf("%d\n", Sum2(5));
printf("%d\n", fact(5));
return 0;
}
二,课后作业
一、提高题:
include
Sum1(int n)//函数使用了一个简单的循环来计算阶乘的累加和。在每次循环中,它更新了阶乘的值并将其加到总和中 { int p = 1, sum = 0, m; for (m = 1; m <= n; m++) { p = m; sum += p; } return (sum); } Sum2(int n)//函数也使用了循环,但在每次循环中,它重新计算了阶乘的值,而不是像 Sum1 那样简单地更新现有的阶乘值。 { int sum = 0, p, m, t; for (m = 1; m <= n; m++) { p = 1; for (t = 1; t <= m; t++) p = t; sum += p; } return (sum); } fact(int n)//函数是一个递归函数,它通过递归方式计算阶乘。 { if (n <= 1) return (1); else return (n * fact(n - 1)); } int main() { printf("%d\n", Sum1(5)); printf("%d\n", Sum2(5)); printf("%d\n", fact(5)); return 0; } 二,课后作业
include
struct Student { int id; float score; };
bool compareScores(const Student &a, const Student &b) { return a.score > b.score; }
int main() { int n; printf("请输入学生人数: "); scanf("%d", &n);
}