|

- 威望
- 242
- 金钱
- 514
- 在线时间
- 31 小时
- 最后登录
- 2010-11-13
|
高手帮忙看哈这个C程序,一直错唉 急!!
#include <stdio.h>
#define MAX 200
int a[MAX], b[MAX], cnt = 0 ;
void writeDat();
int isprime(int m)
{
int i ;
for(i = 2 ; i <= m/2 ; i++)
if(m % i == 0) return 0 ;
return 1 ;
}
void jsVal()
{
int i, m,b,c,d,mc,db;
for( i = 0 ; i <= 200 ; i++)
{
m=a[i]/1000;
b=(a[i]-1000*m)/100;
c=(a[i]-1000*m-100*b)/10;
d=a[i]-1000*m-100*b-10*c;
mc=10*m+c;
db=10*d+b;
if(isprime(mc)==1 && isprime(db)==1&&mc!=0&&db!=0)
{
b[cnt]=mc;
cnt++;
b[cnt]=db;
cnt++;
}
}
}
void readDat()
{
int i ;
FILE *fp ;
fp = fopen("in.dat", "r") ;
for(i = 0 ; i < MAX ; i++) fscanf(fp, "%d", &a[i]) ;
fclose(fp) ;
}
void main()
{
int i ;
readDat() ;
jsVal() ;
printf("满足条件的数=%d\n", cnt) ;
for(i = 0 ; i < cnt ; i++) printf("%d ", b[i]) ;
printf("\n") ;
writeDat() ;
}
void writeDat()
{
FILE *fp ;
int i ;
fp = fopen("K:\\K78\\35000614\\out.dat", "w") ;
fprintf(fp, "%d\n", cnt) ;
for(i = 0 ; i < cnt ; i++) fprintf(fp, "%d\n", b[i]) ;
fclose(fp) ;
} |
|