【程序设计】 --------------------------------------------------------- 主函数main()的char s[]中为测试数据,保存了形如 " 13,2;4 1,12;5 3,4;10 5,8;6 " 字符串。将字符串 中类似"13,2;4"这样的子串视为一个等差数列的3个参数:首 项、公差、项数。将该子串转换成三个整数分别保存在二维 数组ser一行的前三列中,并根据这3个参数计算等差数列的和, 保存在ser数组的第四列。 例如: 子串"13,2;4"转换为13 2 4三个整数,和为64。 子串"1,12;5"转换为1 12 5三个整数,和为125。 编写函数: 1. 编写函数int abstract(char s,int ser[][4]),将s字符 串中类似"13,2;4"这样的子串转换成三个整数,分别存放在 ser 数组的第一、第二、第三列,函数返回这样的子串个数。 2. 编写函数void sum(int ser[][4] , int n),计算ser数 组中n组等差数列的和,将其保存在ser数组各行第四列。 计算等差数列和的公式为: 项数*首项+项数*(项数-1)*公差/2。 --------------------------------------------------------- 注意:请勿改动主函数main()中的任何语句。 ---------------------------------------------------------*/ #include
#include
#include
#include
int abstract(char s[],int ser[][4]) { /**********Program**********/ /********** End **********/ } void sum(int ser[][4] , int n){ /**********Program**********/ /********** End **********/ } int main() { char s[]=" 13,2;4 1,12;5 3,4;10 5,8;6 "; int i,j,n,ser[10][4]; FILE *fp; if((fp=fopen("DATA.TXT","w"))==NULL) { printf("File open error\n"); exit(0); } n=abstract(s,ser); sum(ser,n); for(i=0;i