不是专家,脑袋笨。。。不用数组的话想不到啥好办法。。。只想到文本操作的一类。。。可能你们还没学到,如果你们老师发了答案可以发给我一份不。。。
下面是我写的,有点南辕北辙。。。
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
FILE* fp;
char a[]="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
int b,i,j=0;
char d;
char f;
void xieru(char e,int g)
{
fp=fopen("kk.txt","a");
fputc(e,fp);
fclose( fp );
}
void duchu()
{
fp=fopen("kk.txt","r");
while((f=fgetc(fp))!=EOF)
{
printf("%c",f);
}
fclose( fp );
}
int main()
{
fp=fopen("kk.txt","w");
fclose( fp );
printf("\n请输入偏移:");
scanf("%d",&b);
while(1)
{
printf("请输入字符:");
scanf(" %c",&d);
j++;
for(i=0;i<63;i++)
{
if(a[i]==d)
{
i=i+b;
if(i<0){for(;i<0;i+=62);}
if(i>=62){for(;i>=62;i-=62);}
d=a[i];
xieru(d,j);
break;
}
}
if(i==63)
{
switch(d)
{
case ',':xieru(',',j);continue;
case '.':xieru('.',j);continue;
case '\\':printf("结束输入\n");j--;break;
default:printf("输入错误");j--;continue;
}
}
else continue;
break;
}
duchu();
return 0;
}
下面是运行效果