C语言查找N个数字之和程序

如何使用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;
}
C Program to find Sum of N Numbers using For Loop

分析

  • 在此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));

评论已关闭。