编写程序,从aa.txt文件中读取7个车牌号码,然后从键盘再输入一个车牌号,从这8个车牌号中找出所有后四位是一个完全平方数的车牌号并输出。说明:一个汉字相当于二个西文字符,占用二个字节存储空间,aa.txt的内容如下所示。
皖B51518
苏C82R28
沪AS7744
苏EK626K
鲁B34369
浙ADM7M5
浙D53V35
c语言 从文件中读取车牌,输入一个车牌号写入文件,找出所有后四位是一个完全平方数的车牌号并输出
#include <stdio.h>
#include <windows.h>
#include <stdlib.h>
#define MAX 1024
int main(void)
{
FILE *fp;
char t[10];
int i,s1,s2,s3;
if ((fp=fopen("aa.txt","a"))==NULL)
{
printf("Open Failed.\n");
}
printf("请输入一个车牌号");
scanf("%s",t);
fprintf(fp,"\n%s",t);
fclose(fp);
char strLine[MAX],s[MAX];
if((fp = fopen("aa.txt","r")) == NULL)
{
printf("Open Falied!");
return -1;
}
while (!feof(fp))
{
fgets(strLine,MAX,fp);
s1=0,s2=0,s3=0;
for(i=4;i<6;i++){
s1*=10;
s1+=strLine[i]-'0';
s3*=10;
s3+=strLine[i]-'0';
}
for(i=6;i<8;i++){
s2*=10;
s2+=strLine[i]-'0';
s3*=10;
s3+=strLine[i]-'0';
}
if((s1+s2)*(s1+s2)==s3 ||(strLine[4]==strLine[5] && strLine[6]==strLine[7])){
printf("%s", strLine);
}
}
fclose(fp);
return 0;
}