跪求大神代码
现在我有一个csv格式文件里面的内容是类似这样的
a=1,b=3,c=4,d=9,20
c=4,d=9,f=9,z=19,30
g=9,t=3,40
我想把它输出到另外csv格式,然后内容必须是这样
a b c d f z g t score (注释:所有三行表格里面有用的字母,重复的就剔除)
1 3 4 9 0 0 0 0 20 (跟上表对照,没有数值就置0)
0 0 4 0 9 19 0 0 30
0 0 0 0 0 0 9 3 40
本人菜鸟,求C语言代码学习。。谢谢各位了。
[解决办法]
- C/C++ code
#include <stdio.h>#include <string.h>char all[26],s[1000],used[26];int b[1000][27],top=0,i,j,num=0;void set(){ char c; int temp=0; i=0; while(s[i]) { if(s[i]>='a'&&s[i]<='z') { c=s[i]; if(!used[c-'a']) { all[num++]=c,used[c-'a']=1; } } else if(s[i]>='0'&&s[i]<='9') temp=temp*10+s[i]-'0'; else if(s[i]==',') b[top][c-'a']=temp,temp=0; ++i; } b[top][26]=temp; top++;}int main(){ FILE *in=fopen("d://in.txt","r"),*out=fopen("d://out.txt","w+"); memset(b,0,sizeof(b)),memset(used,0,sizeof(used)); while(fgets(s,100,in)) set(); for(i=0;i<num;i++) fprintf(out,"%c ",all[i]); fprintf(out,"score\n"); for(i=0;i<top;i++) { for(j=0;j<num;j++) fprintf(out,"%d ",b[i][all[j]-'a']); fprintf(out,"%d\n",b[i][26]); } fclose(in); fclose(out);}