1.c语言解决一个程序编程问题:手工建立一个文本文件,里面有A、B、C三列,多行(如10行)。通过程序读取每行的A、B列值,相加后写入对应的C列
2.该问题涉及的c语言知识点
关于#c语言#的问题,如何解决?
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
3条回答 默认 最新
快乐鹦鹉 2022-08-17 09:35关注列之间用什么进行间隔呢?空格?逗号?
用fopen打开文件,逐行读取,然后用sscanf进行拆分项,得到A和B后相加,将ABC存储到数据结构数组,处理完文件后再fprintf写入文件#include <stdio.h> #include <stdlib.h> typedef struct _data { int a; int b; int c; }DATA; int main() { DATA data[1000]={0}; int count = 0,i=0; char buf[1000] = {0}; char *p = NULL; FILE *fp1 = fopen("D:\\a.txt","r"); FILE *fp2 = NULL; if(fp1 == NULL) return 0; p = fgets(buf,1000,fp1); while(p != NULL) { sscanf(buf,"%d %d",&data[count].a,&data[count].b); data[count].c = data[count].a+data[count].b; count++; p = fgets(buf,1000,fp1); } fclose(fp1); fp2 = fopen("D:\\a.txt","w"); if(fp2 == NULL) return 0; for(i=0;i<count;i++) { fprintf(fp2,"%d %d %d\n",data[i].a,data[i].b,data[i].c); } fclose(fp2); return 0; }评论 打赏 举报 编辑记录解决 1无用