对于你的问题,
1,如何使用return的值:使用if else判断,
2,如何在一段话中输出n:在你想打印该数字的地方加入 %d,例如 printf("%d",n);
具体见代码:
#include "stdio.h"
#include "math.h"
int isPrime(int n)
{
int i,k;
k = sqrt(n);
for(i = 2; i <= k;i++)
if(n % i == 0)
break;
if(i > k)
{
return 1;
}
else
{
return 0;
}
}
void main()
{
int n;
printf("输入大于等于2的整数:n\n");
scanf("%d",&n);
if(1 == isPrime(n)) //根据返回值做选择,
{
printf("这个数字%d是质数\n",n); //打印n的值
}
else
{
printf("这个数字%d不是质数\n",n); //打印n的值
}
}
if (jude(n) == 1){
printf("这个数字%d是质数", n);
}
else {
printf("这个数字%d不是质数", n);
}
main函数里面加上面那段程序,那个int jude(int n){.....}函数里面实现你判断一个数是不是质数并返回1或者0
建议你不要这样写
for(i=0;*(num+i)!='\n';i++)
scanf("%d",num+i);
因为一个个元素输入的时候,按的就是回车,即'\n',所以*(num+i)!='\n'不能成为循环结束的条件,而是继续执行循环,直到i=29;
你可以自己改一个条件,如把'\n'该为'a'就可以了,程序如下:
#include
main()
{
int
i;
float
num[30];
for(i=0;*(num+i)!='a';i++)
scanf("%d",num+i);
}
运行结果:
23
56
45
a
press
any
key
to
continue
你用一个变量保存你之前输入的值就可以了啊。