RT,就是运算的次数N由自己输入。然后再根据每次输入的数来计算前N项和并输出。
如输入:
3(代表3个运算)
4
5
2
则程序输出:、
10
15
3
就是这样,谢谢!!
看我输出的
首先是3,表示接下来有3个计算;
接着输入 4 5 2 则是三次计算分别所代表的N
则4+3+2+1=10 5+4+3+2+1=15 2+1=3
所以输出
10
15
3
#include<stdio.h>
#include<stdlib.h>
int main()
{
int count;
int num;
printf("输入运算次数:");
scanf("%d",&count);
for (int i = 0; i < count; i++)
{
printf("输入第%d个运算的项数:",i+1);
scanf("%d",&num);
printf("前%d项和为:%d\n",num,(num*(num+1))/2);
}
system("pause");
return 0;
}追问
#include<stdlib.h>
int main()
{
int count;
int num[1024];
printf("输入运算次数:");
scanf("%d",&count);
for (int i = 0; i < count; i++)
scanf("%d",&num[i]);
printf("前N项和分别为:\n");
for (int i = 0; i < count; i++)
printf("%d\n",(num[i]*(num[i]+1))/2);
system("pause");
return 0;
}
#include<stdlib.h>
int main()
{
int count;
int num;
printf("输入运算次数:");
scanf("%d",&count);
for (int i = 0; i < count; i++)
{
printf("输入第%d个运算的项数:",i+1);
scanf("%d",&num);
printf("前%d项和为:%d\n",num,(num*(num+1))/2);
}
system("pause");
return 0;
}追问
能不能一次性输出结果,不要输入一次输出一次
追答这个没有动态分配内存只是简单的实现,严格来说num的数组大小应该是根据输入的count来分配内存的 但是这里为了方便直接给了个1024 影响不大
#include<stdio.h>#include<stdlib.h>
int main()
{
int count;
int num[1024];
printf("输入运算次数:");
scanf("%d",&count);
for (int i = 0; i < count; i++)
scanf("%d",&num[i]);
printf("前N项和分别为:\n");
for (int i = 0; i < count; i++)
printf("%d\n",(num[i]*(num[i]+1))/2);
system("pause");
return 0;
}
温馨提示:答案为网友推荐,仅供参考
第1个回答 2018-10-19
#include <stdio.h>
#include <malloc.h>
int jc(int n)
{
if(n = 1)
{
return 1;
}
else
{
return n + jc(n-1);
}
}
int main()
{
int i = 0;
int cnt = 0;
int * a = NULL;
scanf("%d",&cnt);
a = (int *)malloc(cnt * sizeof(int));
for(i = 0;i < cnt; i ++)
{
scanf("%d",a+i);
}
for(i = 0;i < cnt;i ++)
{
printf("%d\n",jc(a[i]));
}
free(a);
return 0;
}追问
#include <malloc.h>
int jc(int n)
{
if(n = 1)
{
return 1;
}
else
{
return n + jc(n-1);
}
}
int main()
{
int i = 0;
int cnt = 0;
int * a = NULL;
scanf("%d",&cnt);
a = (int *)malloc(cnt * sizeof(int));
for(i = 0;i < cnt; i ++)
{
scanf("%d",a+i);
}
for(i = 0;i < cnt;i ++)
{
printf("%d\n",jc(a[i]));
}
free(a);
return 0;
}追问
输出的结果好像不太对
追答第五行,改为if(n==1) 失误了……没调试……
追问好的,可以了,谢谢
追答如果无误,请采纳~~谢谢~~