一道很简单的题目可是我不会做.大侠帮忙......
已知数据文件IN.DAT中存有200个四位数并已调用读函数READDAT()把这些数存入数组A中,请你编一个函数JSVAL(),其功能是:把千位数字和十位数字重新组成一个新的含有两位数字的数(新数的十位数字的原来四位数字的千位,新数的各位数字是原来四位数字的十位),以及把原四位数字的各位数字和百位数字组成另外一个新的两位数字,如果两个新组成的数都是素数且新数的十位数字均不为0,则将满足此条件的四位数按照从大到小的次序存入数组B中,并要计算满足上诉条件的四位数的个数?????!!!!!!!!!!
怎么编程啊?现在已经给出了部分程序:#include
#define MAX 200
int a[MAX], b[MAX], cnt = 0 ;
int isprime(int m)
{
int i ;
for(i = 2 ; i <= m/2 ; i++)
if(m % i == 0) return 0 ;
return 1 ;
}
void jsVal()
{
}
void readDat()
{
int i ;
FILE *fp ;
fp = fopen("in.dat", "r") ;
for(i = 0 ; i < MAX ; i++) fscanf(fp, "%d", &a) ;
fclose(fp) ;
}
void main()
{
int i ;
readDat() ;
jsVal() ;
printf("满足条件的数=%d\n", cnt) ;
for(i = 0 ; i < cnt ; i++) printf("%d ", b) ;
printf("\n") ;
writeDat() ;
}
writeDat()
{
FILE *fp ;
int i ;
fp = fopen("K:\\k06\\35000129\\out.dat", "w") ;
fprintf(fp, "%d\n", cnt) ;
for(i = 0 ; i < cnt ; i++) fprintf(fp, "%d\n", b) ;
fclose(fp) ;
|