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.
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。
#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);