#include <stdio.h> #define N 20 int fun(int n,int *a) { int i,j,k,sum; sum=j==0; for(k=3,i=0;i<n;i++,k+=5) { sum=sum+k; if(sum%4=2) a[j++]=sum; } return j; } main() { int a[N],d,n,i; printf("\nEnter n (4<n<=50): ");scanf("%d",&n); d=fun(n,a); printf("\n\nThe result :\n"); for(i=0; i<d; i++)printf("%6d",a[i]);printf("\n\n"); }
int fun(int n, int *a)
{
int i, j, k, sum;
sum = j = 0; \\这里要用=而不是==
for (k = 3, i = 0; i < n; i++, k += 5)
{
sum = sum + k;
if (sum % 4 == 2) \\这里要用==而不是=
a[j++] = sum;
}
return j;
}
至于作用,是找出来4的倍数多2的和,但是这个和的定义是有点奇怪的...