题目如下:编写函数,从键盘输入m,输出大于m且紧随m的素数。我的代码为什么输出不了啊。
#include
#include
int main()
{int m;
printf("请输入一个数");
scanf("%d",m);
void sushu(int m);
return 0;
}
void sushu(int m)
{int i,a;
for(i=m+1;i<10000;i++)
{for(a=2;a<=sqrt(i);a++)
if(i%a==0) break;
if(a>sqrt(i))
{printf("该素数为:%d",i);
break;
}
}
}
#include <stdio.h>
#include <math.h>
int main()
{
int m;
printf("请输入一个数");
scanf("%d", &m);
void sushu(int m);
sushu(m);
return 0;
}
void sushu(int m)
{
int i,a;
for(i=m+1;i<10000;i++)
{
for(a=2;a<=sqrt(i);a++)
if(i%a==0) break;
if(a>sqrt(i))
{
printf("该素数为:%d",i);
break;
}
}
}
修改如下,供参考:
#include <stdio.h>
#include <math.h>
void sushu(int m); //函数声明
int main()
{
int m;
printf("请输入一个数");
scanf("%d",&m); //scanf("%d",m); 修改
sushu(m); //void sushu(int m); 函数调用
return 0;
}
void sushu(int m)
{
int i,a;
for(i=m+1;i<10000;i++)
{
for(a=2;a<=sqrt(i);a++)
if(i%a==0) break;
if(a>sqrt(i))
{
printf("该素数为:%d",i);
break;
}
}
}
#include <stdio.h>
#include <math.h>
int main() // 主函数
{
int m;
printf("请输入一个数"); // 提示输入
scanf("%d", &m); // 从键盘输入一个数并存储在变量m中
void sushu(int m); // 调用sushu函数,传入m作为参数
return 0;
}
void sushu(int m) // 判断素数的函数
{
int i, a;
for (i = m + 1; i < 10000; i++) // 从m+1开始遍历到10000
{
for (a = 2; a <= sqrt(i); a++) // 遍历2到i的平方根
{
if (i % a == 0) // 如果i能被a整除
break; // 跳出循环
}
if (a > sqrt(i)) // 如果a>i的平方根,说明i是素数
{
printf("该素数为:%d", i); // 输出i是素数
break; // 跳出循环
}
}
}
#include<stdio.h>
int a[100],m,n;
int main()
{
void exchange();
printf("how many number do you f***ing want to enter:\n");
scanf("%d",&n);
printf("Please enter number.\n");
for(int i=0;i<n;i++){
scanf("%d",&a[i]);
}
printf("想往后移多少,给个数:\n");
scanf("%d",&m);
exchange();
return 0;
}
void exchange()
{
int i,e;
printf("经过调整后输出顺序为:\n");
for(e=n-m;e<n;e++)printf("%d ",*(a+e));
for(i=0;i<n-m;i++)printf("%d ",*(a+i));
printf("\n");
}