【程序设计】 --------------------------------------------------------- 题目:主函数 main()中一维数组ring[9]存放数字1-9。将ring看 一个首尾相接的环。将 9个数分成3段,第11个2位 数,第 21个3位数,第31个4位数,程序计算这3段 数之和。要求从环的第 1个数开始,直到第9个数,依上述 规则进行处理。同时在这些和中寻找 77的整数倍的数。 例如: 从环的第一个数开始的 3为12,345,6789,其和为7146; 从环的第二个数开始的 3为23,456,7891,其和为8370; ..... 从环的第九个数开始的 3为91,234,5678,其和为6003; 编写程序: 1. 编写函数void calculate(int ring[],int st[]),从 数组 ring的第1个数开始,将9个数分成3段,第11 个 2位数,第21个3位数,第31个4位数,程序 计算所有 3之和。并将所有3之和存入数组st中。 2. 编写函数int check(int st[],int t77[]),在数组st 中寻找 77的整数倍的数,存入数组t77中,函数返回其 个数。 --------------------------------------------------------- 注意:请勿改动主函数 main()中的任何语句。 -------------------------------------------------------*/ #include
#include
#include
void calculate(int ring[],int st[]){ /**********Program**********/ /********** End **********/ } int check(int st[],int t77[]){ /**********Program**********/ /********** End **********/ } int main(){ int ring[9]={1,2,3,4,5,6,7,8,9}; int st[9],t77[9],i,k; FILE *fp; if((fp=fopen("DATA.TXT","w"))==NULL){ printf("File open error\n"); exit(0); } calculate(ring,st); for(i=0;i<9;i++){ printf("%d\t",st[i]); fprintf(fp,"%d\t",st[i]); } printf("\n"); fprintf(fp,"\n"); k=check(st,t77); for(i=0;i