用C语言编写一个计算等差数列和的函数int sum(int begin,int end,int D_value)。

并在main()函数中调用该函数,计算2+5+8+。。。+59的值。... 并在main()函数中调用该函数,计算2+5+8+。。。+59的值。 展开
 我来答
百度网友0ecab4f
推荐于2018-04-11 · TA获得超过1027个赞
知道小有建树答主
回答量:412
采纳率:0%
帮助的人:372万
展开全部

我把D_value理解为项数,不知道对不对。

 
#include <stdio.h>
int sum(int began,int end,int D_value)
{
    int sum;
    sum=D_value*(began+end)/2;
    return sum;
}
int main()
{
    int n=(59-2)/3+1;
    printf("%d",sum(2,59,n));
    getchar();
    return 0;
}
追问
D_value的意思是公差。
追答
 //我按照公差改了一下。
#include <stdio.h>
int sum(int began,int end,int D_value)
{
    int sum;
    sum=(end-began)/D_value+1;
    sum=sum*(began+end)/2;
    return sum;
}
int main()
{
    printf("%d",sum(2,59,3));
    getchar();
    return 0;
}
碧血玉叶花
2015-05-18 · TA获得超过4976个赞
知道大有可为答主
回答量:6154
采纳率:0%
帮助的人:1628万
展开全部
#include<stdio.h>
    int sum_day(int month,int day)
 {
     int tab[13] = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
  int i;
  for(i=1;i<month;i++)
  {
   day+=tab[i];//这里应是tab[i]
 }
   return(day);//return(day)应放在循环体外
 }
        int leap(int year)
{
if(year%4==0&&year%100!=0||year%400==0)//只要这样就行了,是闰年就返回1
        return(1);
else
return 0;
}
        int main()
{
  int sum_day(int month,int day);
        int leap(int year);
  int years,months,days,day;
        printf("请输入年:years\n");
        scanf("%d",&years);
        printf("请输入月:months\n");
  scanf("%d",&months);
  printf("请输入日:days\n");
        scanf("%d",&days);
        printf("%d%d%d",years,months,days);
        day=sum_day(months,days);
        if(leap(years)&&months>=3)
        day=day+1;
        printf("是第%d天",day);

return 1;//最好加上return
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式