注册 登录
编程论坛 C语言论坛

大一新生求助一道编程题!DDL就在明天,拜托了!!不好意思题目是英文的,但很容易看懂!

浥露 发布于 2020-04-27 18:11, 2256 次点击
Write a C program that accepts a positive integer n less than 50 from the terminal and prints out the sum 1^4 +2^4 +4^4 +7^4 +11^4 +···+m^4, where m is less than or equal to n. If the input is outside the range, the program terminates with appropriate message.

[此贴子已经被作者于2020-4-27 18:13编辑过]

9 回复
#2
rjsp2020-04-27 18:43
听都听不懂,1,2,4,7,11 是什么规律
#3
浥露2020-04-27 18:56
回复 2楼 rjsp
我也不懂啊,题目就是这么给的,哭了。。。
#4
wmf20142020-04-27 19:12
m是前一个数加上一个递增数列,50^4在int数范围,应该好完成吧。
#5
浥露2020-04-27 19:21
回复 4楼 wmf2014
但是我不会写代码,能帮帮忙嘛。。。。
#6
wmf20142020-04-27 19:27
回复 5楼 浥露
这里不是作业帮啊,你看看其他人帮不。
#7
Leeoo2020-04-27 19:35
1,2,4,7,11的规律是这样的:1和2之间相差1,2和4之间相差2,4和7之间相差3,7和11之间相差4……以此类推,所以设计程序的基本思路就是用两个字母分别表示指数的底数和两两之间相差的数,再用sum输出算式的和。
#include<stdio.h>
#include<math.h>
int main()
{
    int n,m=1, i=1,sum=0;
    printf("请输入一个小于50的整数:");
    scanf_s("%d", &n);
    if (n > 50)
        printf("错误");
    else
    {
        for (i = 1, m = 1; m<= n; i++)
        {
            sum = sum + pow(m, 4);
            m = m + i;
        }
        printf("%d", sum);
    }
    return 0;
}
代码里面的scanf_s就是scanf。
#8
浥露2020-04-27 19:56
回复 7楼 Leeoo
你说的好详细!看懂了,真的很谢谢你!!!
#9
Leeoo2020-04-27 20:31
不客气哈
#10
vgytu2020-04-27 21:03
我推导出的是a(i-1)+i
推导过程
只有本站会员才能查看附件,请 登录

#include<stdio.h>
#include<math.h>
int a(int n)
{ if (n==0)
 return 1;
 else
 return a(n-1)+n;
 }
int main()
{
    int n,sum=0;
    printf("请输入一个小于50的整数:");
    scanf("%d", &n);
        for (int i = 0; i<n; i++)
        {
            sum = sum + pow(a(i), 4);
            
        }
        printf("%d", sum);
   
    return 0;
}
1