请教下要实现这个要怎么改
#include<stdio.h>#include <stdlib.h>
#include<math.h>
#include <time.h>
void daxiao(int *,int *);
int zhishu(int,int);
int main(void)
{
int i,n;
scanf("%d%d",&i,&n);
if(i>0&&n>0)
daxiao(&i,&n);
zhishu(i,n);
return 0;
}
void daxiao(int *a,int *b)
{
int t;
if(*a>*b)
{
t=*a; *a=*b; *b=t;
}
}
int zhishu(int i,int n)
{
clock_t start,finish;
int k,tag,s=1;
printf("寻找%d至%d以内的素数\n",i,n);
start=clock();
for(i;i<=n;i+=2)
{
tag = 0;
for(k=2;tag==0&&k<sqrt(i);k++)
if(i%k==0)tag=1;
if(tag==0)
{
printf("\r%d%%",i*100/n);
s++;
}
}
finish=clock();
printf("\n总共%d个质数,用时%6.3f秒\n",s,(double)((finish-start)/CLOCKS_PER_SEC));
return 0;
}
这个程序是输入两个数后算出这两个数之间的素数,但是只要输入1就会出错!所以想改下输入1也能执行的.要怎样改