📄 prog1.c
字号:
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
#include <string.h>
#define MAX 100
char xx[MAX][20] ;
int maxnum;
void WriteText(void) ;
int ReadText(void)
{
FILE *fp ;
int i,j;
char ch;
char ss[20];
if((fp = fopen("IN.dat", "r")) == NULL) return 1 ;
printf("\n");
i=j=0;
while(!feof(fp))
{ fscanf(fp,"%c",&ch);
if(ch>='0' && ch<='7') {ss[j]=ch;j++;}
else if(ch==','||ch=='\n') {
ss[j]=0;
strcpy(xx[i],ss);
j=0;ss[j]=0;i++;
}
}
ss[j]=0;strcpy(xx[i],ss);i++;
maxnum=i;
fclose(fp) ;
for(i=0;i<maxnum;i++) {if(i%10==0) printf("\n"); printf("%s,",xx[i]);}
return 0 ;
}
void XT1(void)
{
int z,value,j,k,i,yz,l;
char ss[20];
char s1[5],s2[5];
for(i=0;i<maxnum;i++)
{ value=0;k=0;
j=strlen(xx[i]);
z=atoi(xx[i]);
yz=1;
while(j>0)
{
l=z%10;
if(k>0) yz*=8;
l*=yz;
value+=l;
z=z/10;
k++;
j--;
}
if(value==0) {xx[i][0]='0';xx[i][1]=0;}
else if(value==1) {xx[i][0]='1';xx[i][1]=0;}
else {
j=0;
while(value>1)
{
xx[i][j]=value%2+48;
j++;
value/=2;
}
xx[i][j]='1';
xx[i][j+1]=0;
}
}
}
void main()
{
int i ;
/* for(i = 0 ; i < MAX ; i++) memset(xx[i], 0, 20) ;*/
if(ReadText()) {
printf("数据文件R1.IN不能打开!\007\n") ;
return ;
}
XT1() ;
WriteText() ;
}
void WriteText(void)
{
FILE *fp ;
int i ,j;
printf("\n");
fp = fopen("OUT.dat", "w") ;
for(i = 0 ; i <maxnum ; i++) {
j=strlen(xx[i]);
while(j>0) {
printf("%c",xx[i][j-1]);
fprintf(fp, "%c", xx[i][j-1]) ;
j--;}
printf("\n");
fprintf(fp,"\n");
}
fclose(fp) ;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -