如何使用For循环、While循环、Do While循环、函数和递归编写C语言程序以找到N个数字的和。
C语言使用For循环查找N个数字之和的程序
此C程序允许用户输入任何整数值。通过使用For循环,此程序计算N个自然数的和。
#include<stdio.h>
int main()
{
int Number, i, Sum = 0;
printf("\nPlease Enter any Integer Value\n");
scanf("%d", &Number);
for(i = 1; i <= Number; i++)
{
Sum = Sum + i;
}
printf("Sum of Natural Numbers = %d", Sum);
return 0;
}

分析
- 在此N个数字求和程序中,第一个printf语句将要求用户输入一个整数值。scanf语句将用户输入的值赋给Number变量。
- 接下来,我们使用C编程For循环在1和用户输入的数字之间进行迭代。如果您不了解For循环,请参阅C编程中的For循环文章以供进一步参考。
- 在For循环内,我们计算了总和
- 在上面的C程序示例中,用户输入的数字是5,这意味着1 + 2 + 3 + 4 + 5 = 15
C语言使用While循环查找N个数字之和的程序
此N个数字求和程序允许用户输入任何整数值。使用While循环,我们将计算N个自然数的和。
#include<stdio.h>
int main()
{
int n, i = 1, Sum = 0;
printf("\nPlease Enter any Integer Value\n");
scanf("%d", &n);
while(i <= n)
{
Sum = Sum + i;
i++;
}
printf("Sum of Natural Numbers = %d", Sum);
return 0;
}
Please Enter any Integer Value
5
Sum of Natural Numbers = 15
在此使用while循环计算N个数字之和的示例中,
- While循环用于在1和用户输入的数字之间进行迭代。如果您不了解While循环,请参阅C语言中的While循环文章以供进一步参考。
- 在while循环内,我们计算了总和。
- 完成此操作后,i的值会通过增量运算符递增。
使用Do While循环计算N个数字之和的程序
此N个数字求和程序允许用户输入任何整数值。使用Do While循环,我们将计算N个自然数的和。
#include<stdio.h>
int main()
{
int n, i = 1, Sum = 0;
printf("\nPlease Enter any Integer Value\n");
scanf("%d", &n);
do
{
Sum = Sum + i;
i++;
} while(i <= n);
printf("Sum of Natural Numbers = %d", Sum);
return 0;
}
Please Enter any Integer Value
50
Sum of Natural Numbers = 1275
我们只是用Do While循环替换了上面N个数字求和程序中的While循环。请不要忘记在while条件后加上分号。
C语言使用函数查找N个数字之和的程序
此N个数字求和程序允许用户输入任何整数值。使用函数,我们将计算N个自然数的和。
#include<stdio.h>
int SNatNum(int nm);
int main()
{
int nm, Sum = 0;
printf("\nPlease Enter any Integer Value\n");
scanf("%d", &nm);
Sum = SNatNum(nm);
printf("Sum of Natural Numbers = %d", Sum);
return 0;
}
int SNatNum(int nm)
{
int Sum = 0;
if (nm == 0)
{
return nm;
}
else
{
return (nm * (nm + 1) / 2);
}
}
Please Enter any Integer Value
100
Sum of Natural Numbers = 5050
在此N个数字程序中,以下语句将调用SNatNum函数并将函数返回值赋给Sum变量。
Sum = SNatNum(nm);
最后一个printf语句将输出Sum。现在,让我们看看函数定义
在函数内部,我们使用If Else语句来检查数字是否等于零或大于零。
- 如果给定的数字等于零,则N个自然数的和=0
- 否则,我们使用了等差数列求和的数学公式1 + 2 + 3 + … + N = N * (N + 1) / 2
C语言使用递归查找N个数字之和的程序
此查找N个数字之和的程序允许用户输入任何整数值。使用递归,我们将计算N个自然数的和。
#include<stdio.h>
int SNatNum(int nb);
int main()
{
int nb, Sum = 0;
printf("\nPlease Enter any Integer Value\n");
scanf("%d", &nb);
Sum = SNatNum(nb);
printf("Sum of Natural Numbers = %d", Sum);
return 0;
}
int SNatNum(int nb)
{
if (nb == 0)
{
return nb;
}
else
{
return (nb + SNatNum(nb - 1));
}
}
Please Enter any Integer Value
1000
Sum of Natural Numbers = 500500
如果您观察上面计算N个数字之和的程序代码,它与我们在函数概念中解释的代码非常相似。但在else语句中,我们递归地调用了函数。
return (Number + SNatNum(nb - 1));
评论已关闭。