大一新生求问 感觉基础太差 c语言

img

int main()
{
      int n,i,sum=0;
      scanf("%d",&n);
      for(i=1;i<=n;i++)
          sum += 2*i-1;
      printf("和为%d",sum);
      return 0;
}

#include <stdio.h>
int main()
{
    int i,n,s=0;
    scanf("%d",&n);
    for (i=1;i<=n;i++)
    {
        s += (2*n-1);
    }
    printf("%d",s);
    return 0;
}


#include <stdio.h>
int main()
{
    int n ; 
    int sum = 0;
    scanf("%d",&n);
    for(int i = 1;i<=n;i+=2)
    {
        sum = sum + i;
    }
    printf("前n项和:%d",sum);
    return 0;
}

img

供参考:

#include<stdio.h>
int main()
{
    int n, s = 0;
    scanf("%d", &n);
    if (n < 0) return 1;
    while(n--) 
        s += (2 * n + 1);
    printf("%d", s);
    return 0;
}


等差数列{an}的通项公式为:an=a1+(n-1)d。
前n项和公式为:Sn=n*a1+n(n-1)d/2或Sn=n(a1+an)/2

//1 3 5 7 9 ...
#include <stdio.h>

int main()
{
    int n,an,sn;
    scanf("%d",&n);

    an = 1 + (n-1)*2;  //等差数列通项公式
    sn = n*(1+ an)/2;  //等差数列求和公式

    printf("%d",sn);
    return 0;
}