暗金csgo:c程序的高手帮个忙

来源:百度文库 编辑:神马品牌网 时间:2024/04/29 18:36:13
帮忙把这个改成只含有main的程序,谢了!!!!
#include<stdio.h>
#include<stdlib.h>
const int N=5;
int key(const char *a);
void trans(const char*);
char tran(const int ,const int );
void main()
{
FILE *fr;
char a[100];
char *p=a;
int i;
if((fr=fopen("IN.txt","r+"))==NULL)
{
printf("connot open the file\n");
exit(0);
}
for(i=0;i<N;i++)
{
fscanf(fr,"%s",p);
printf("%s\n",p);
trans(p);
}
fclose(fr);
printf("stop\n");
}

void trans(const char *p)
{FILE *fw;
int p_key;
char a;
int sign=0,i,sum;
if((fw=fopen("OUT.txt","a"))==NULL)
{
printf("connot open the file\n");
exit(1);
}
p_key=key(p);
printf("translation:\t");

for(i=0;p[i]!='\0';i++)
{
if(p[i]>='0'&&p[i]<='9')
if(sign==1) sum=sum*10+p[i]-'0';
else {
sum=p[i]-'0';
sign=1;
}
else{
if(p[i]==',')
{a=tran(sum,p_key);
sign=0;
}
else if(p[i]=='.')
{sign=0;
printf("%c",tran(sum,p_key));
fprintf(fw,"%c",tran(sum,p_key));
a=' ';}
else {
printf("error\n");
exit(0);
}
fputc(a,fw);
printf("%c",a);
sum=0;
}
}
putchar('\n');
fputc('\n',fw);
fclose(fw);
}

int key(const char *p)
{
int m=0;
int i=1;
char *a;

for(a=p;*a!='\0';a++);

for(a--;(*a<='9')&&(*a>='0');a--,i*=10)
{m+=(*a-'0')*i;

}
return m;
}
char tran(const int n,const int key)
{
int m=n-key;
step:{ if(m>=1&&m<=26)
return m-1+'A';
else if(m<1)
{m+=26;
goto step;
}
else
{m-=26;
goto step;
}
}

}


得用两种方法作,一种只能用只含有main的函数阿

需要两种方法吗?

如果是老师要求的,那简直就算误人子弟.

或者说他是不是要求用两种不同的算法实现???

这样用函数表示多好?也容易修改.

这个改不了,如果改了程序就非常难懂了。

程序好像有错

为什么要改呢,这不是挺好的吗?如果改了那你最好多准备几张纸

....,这样不是倾好的吗?