小弟我写了一个程序,有个有关问题想问问大家
我写了一个程序,有个问题想问问大家
/****输入一个数,判断这个数是否为素数****/
#include <stdio.h>
#include <conio.h>
#include <math.h>
int judgement( int enternumber );
void main()
{
int enternum=0;
char flag;
printf( " Accord the programe , you can judge whether a number is a Prmes!\n ");
do
{
printf( "\n\nPlease enter a number : " );
scanf( "%d ",&enternum ); /*****怎样更改?以使当输入的是字符型数据时,判断出输入数据是非法的?谢谢大家指导!****/
if( judgement(enternum) ==1 )
printf( "\n %d is a Prems! ", enternum );
else printf( "\n %d isn 't a Prems ", enternum );
printf( "\n\nSo, do you wanna continue? if you wish ,Press 'G '/ 'g ': " );
flag = getche();
} while( flag == 'g ' || flag == 'G ');
printf( "\n\n ");
system( "pause ");
}
/*函数功能:判断enternumber是否为素数!如果是,judgement为1,否则为0 */
int judgement( int enternumber )
{
int mark=0,i;
for(i=2; i <sqrt(enternumber)+1; i++ )
{
if( enternumber%i == 0 )
{
mark++;
return (0);
}
}
if( mark ==0 )
return(1);
}
------解决方案--------------------
今天才看到楼主的帖子,有点晚阿!^_^
--------------------------------------
怎样更改?以使当输入的是字符型数据时,判断出输入数据是非法的?谢谢大家指导!
---------------------------------------
我刚才写了一段代码,应该满足你的要求的!
#include <stdio.h>
/*#include <stdlib.h> */ //有的编译系统必须要,有的可以不要!
int main()
{
int num,i=0;
char *temp=(char *)malloc(20); /*确定输入字符的长度 */
char *s=(char*)malloc(20);
printf( "Please input a number!\n ");
while(*temp!=13)
{
*temp=getche();
/****输入一个数,判断这个数是否为素数****/
#include <stdio.h>
#include <conio.h>
#include <math.h>
int judgement( int enternumber );
void main()
{
int enternum=0;
char flag;
printf( " Accord the programe , you can judge whether a number is a Prmes!\n ");
do
{
printf( "\n\nPlease enter a number : " );
scanf( "%d ",&enternum ); /*****怎样更改?以使当输入的是字符型数据时,判断出输入数据是非法的?谢谢大家指导!****/
if( judgement(enternum) ==1 )
printf( "\n %d is a Prems! ", enternum );
else printf( "\n %d isn 't a Prems ", enternum );
printf( "\n\nSo, do you wanna continue? if you wish ,Press 'G '/ 'g ': " );
flag = getche();
} while( flag == 'g ' || flag == 'G ');
printf( "\n\n ");
system( "pause ");
}
/*函数功能:判断enternumber是否为素数!如果是,judgement为1,否则为0 */
int judgement( int enternumber )
{
int mark=0,i;
for(i=2; i <sqrt(enternumber)+1; i++ )
{
if( enternumber%i == 0 )
{
mark++;
return (0);
}
}
if( mark ==0 )
return(1);
}
------解决方案--------------------
今天才看到楼主的帖子,有点晚阿!^_^
--------------------------------------
怎样更改?以使当输入的是字符型数据时,判断出输入数据是非法的?谢谢大家指导!
---------------------------------------
我刚才写了一段代码,应该满足你的要求的!
#include <stdio.h>
/*#include <stdlib.h> */ //有的编译系统必须要,有的可以不要!
int main()
{
int num,i=0;
char *temp=(char *)malloc(20); /*确定输入字符的长度 */
char *s=(char*)malloc(20);
printf( "Please input a number!\n ");
while(*temp!=13)
{
*temp=getche();