|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
RT,这段代码的作用是打印出与输入数字相等的数组单元在数组中的序号,但我运行通过后输入数字没任何反应,求各位赐教
#include <stdio.h>
int main()
{
int i;
int sum;
int number[200];//定义一个数组
int count;
count = 1;
scanf("%d",&sum);//输入数字
for(i=1;0<i<300;){
int k;
int isprime;
for(k=2;k<i;k++){
if(i%k!=0){
isprime=1;
}else{
isprime=0;
break;//判断是否为素数
}
}
if(isprime==1){
number[count]=i;//若为素数则输入数组
i++;
count++;
}
}if(number[count]==sum){
printf("%d",count);// 打印出与输入数字相等的数单元素序号
}
}
你的代码错误的地方太多,我简单给一个可实现功能的代码:
- #include <stdio.h>
- int main(void)
- {
- int i, k, tar;
- int number[200] = {0};//定义一个数组并初始化为0
- int count = 0, isprime = 1;
-
- //获得300以内的所有素数
- for(i = 2;i < 300; i++)
- {
- for(k = 2; k < i/2; k++)
- {
- if (i % k == 0)
- {
- isprime = 0;
- break;
- }
- }
- if (isprime)
- {
- number[count] = i;
- count++;
- }
- isprime = 1;
- }
- printf("请输入一个素数:");
- scanf("%d",&tar);//输入数字
- for (i = 0; i < count; i++)
- {
- if (number[i] == tar)
- {
- printf("数组中对应的素数下标编号为 %d\n",i);
- break;
- }
- }
- return 0;
- }
复制代码
|
|