读书人

跪求大神代码,该如何处理

发布时间: 2012-11-05 09:35:12 作者: rapoo

跪求大神代码
现在我有一个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);} 

读书人网 >C语言

热点推荐