一道C语言改错题(在线等)
改错输出相邻两数之和为素数的下标及其值(首末数也视为相邻,输入数以0作结束标志),改正程序中的错误。要求:1.源程序文件名:你的学号f1.C2.除可增说明语句,预编译处理...
改错
输出相邻两数之和为素数的下标及其值(首末数也视为相邻,输入数以0作结束标志),改正程序中的错误。
要求:1.源程序文件名: 你的学号f1.C
2.除可增说明语句,预编译处理或可调换语句顺序外.不允许增删任何语句.
main()
{ int i ,j,k,n=0,a[30],prime,m;
printf(“Input a number:”); scanf(“%d”,&a[n]);
while(a[n]=0)
{ printf(“Input a number:”);scanf(“%d”, a[++n]);}
for(i =0;i <n;i ++)
{ j=i +1;
if(j!=n)j=0;
k=2;prime=1;
m=a[i];
while(k<= sqrt(m))
{
if(m/k*k =m)prime=0;
i ++;
}
if(prime)
printf(“%d,%d,%d,%d”,i ,a[i ],j,a[j]);
}
} 展开
输出相邻两数之和为素数的下标及其值(首末数也视为相邻,输入数以0作结束标志),改正程序中的错误。
要求:1.源程序文件名: 你的学号f1.C
2.除可增说明语句,预编译处理或可调换语句顺序外.不允许增删任何语句.
main()
{ int i ,j,k,n=0,a[30],prime,m;
printf(“Input a number:”); scanf(“%d”,&a[n]);
while(a[n]=0)
{ printf(“Input a number:”);scanf(“%d”, a[++n]);}
for(i =0;i <n;i ++)
{ j=i +1;
if(j!=n)j=0;
k=2;prime=1;
m=a[i];
while(k<= sqrt(m))
{
if(m/k*k =m)prime=0;
i ++;
}
if(prime)
printf(“%d,%d,%d,%d”,i ,a[i ],j,a[j]);
}
} 展开
5个回答
展开全部
逻辑上有点问题,也不是很明白你要干什么,改了下,调过了,可以顺利运行了,我觉得你的程序需要大改。。。
#include "stdio.h"
#include "math.h"//头文件总得加上吧
int main() //main函数的返回类型最好也加上,有些编译器没有默认的
{
int i ,j,k,n=0,a[30],prime,m;
printf("input a number:");
scanf("%d",&a[n]);
while(a[n]==0) //这应该是==,基础。。。
{
printf("input a number:");
scanf("%d",&a[++n]);
for(i =0;i <n;i ++)
{
j=i +1;
if(j!=n)j=0;
k=2;prime=1;
m=a[i];
while(k<= sqrt(m))
{
if(m/k*k ==m)prime=0; //这里也是==
i ++;
}
if(prime)
printf("%d,%d,%d,%d",i,a[i],j,a[j]);
}
}
return 0;
}
基本就这样,你自己编译下,有问题再补充
#include "stdio.h"
#include "math.h"//头文件总得加上吧
int main() //main函数的返回类型最好也加上,有些编译器没有默认的
{
int i ,j,k,n=0,a[30],prime,m;
printf("input a number:");
scanf("%d",&a[n]);
while(a[n]==0) //这应该是==,基础。。。
{
printf("input a number:");
scanf("%d",&a[++n]);
for(i =0;i <n;i ++)
{
j=i +1;
if(j!=n)j=0;
k=2;prime=1;
m=a[i];
while(k<= sqrt(m))
{
if(m/k*k ==m)prime=0; //这里也是==
i ++;
}
if(prime)
printf("%d,%d,%d,%d",i,a[i],j,a[j]);
}
}
return 0;
}
基本就这样,你自己编译下,有问题再补充
展开全部
这么烂的程序,还不允许改?
我就改了,改的比你的强多了!
#include<stdio.h>
#include<math.h>
int main()
{
int a[30],n=0,m,i,j,k;
do
{
printf("Input a number:");
scanf("%d", &a[n]);
} while(a[n++]!=0);
for(i=0;i<n;i++)
{
j=(i+1)%n;
m=a[i]+a[j];
for(k=2;k<=sqrt(m);k++)
{
if(m%k==0)break;
}
if(k>sqrt(m))
{
printf("%d,%d,%d,%d\n",i ,a[i],j,a[j]);
}
}
return 0
}
我就改了,改的比你的强多了!
#include<stdio.h>
#include<math.h>
int main()
{
int a[30],n=0,m,i,j,k;
do
{
printf("Input a number:");
scanf("%d", &a[n]);
} while(a[n++]!=0);
for(i=0;i<n;i++)
{
j=(i+1)%n;
m=a[i]+a[j];
for(k=2;k<=sqrt(m);k++)
{
if(m%k==0)break;
}
if(k>sqrt(m))
{
printf("%d,%d,%d,%d\n",i ,a[i],j,a[j]);
}
}
return 0
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
main()
{ int i ,j,k,n=0,a[30],prime,m;
printf(“Input a number:”); scanf(“%d”,&a[n]);
while(a[n]=0) // 错在这 改为while(a[n] ==0)
{ printf(“Input a number:”);scanf(“%d”, a[++n]);}
for(i =0;i <n;i ++)
{ j=i +1;
if(j!=n)j=0;
k=2;prime=1;
m=a[i];
while(k<= sqrt(m))
{
if(m/k*k =m)prime=0;
i ++;
}
if(prime)
printf(“%d,%d,%d,%d”,i ,a[i ],j,a[j]);
}
}
{ int i ,j,k,n=0,a[30],prime,m;
printf(“Input a number:”); scanf(“%d”,&a[n]);
while(a[n]=0) // 错在这 改为while(a[n] ==0)
{ printf(“Input a number:”);scanf(“%d”, a[++n]);}
for(i =0;i <n;i ++)
{ j=i +1;
if(j!=n)j=0;
k=2;prime=1;
m=a[i];
while(k<= sqrt(m))
{
if(m/k*k =m)prime=0;
i ++;
}
if(prime)
printf(“%d,%d,%d,%d”,i ,a[i ],j,a[j]);
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我改的很完美了~~
#include<stdio.h>
#include<math.h>
void main()
{ int i ,j,k,n=0,a[30],prime,m;
printf("Input a number:"); scanf("%d",&a[n]);
while(a[n]!=0) //!=0
{ printf("Input a number:");scanf("%d", &a[++n]);} //&a[++n]
for(i =0;i <n;i ++)
{ j=i +1;
if(j==n)j=0; //j==n
k=2;prime=1;
m=a[i];
while(k<= sqrt(m))
{
if(m/k*k ==m)prime=0;
k ++; //k++
}
if(prime)
printf("%d,%d,%d,%d\n",i ,a[i ],j,a[j]);
}
}
#include<stdio.h>
#include<math.h>
void main()
{ int i ,j,k,n=0,a[30],prime,m;
printf("Input a number:"); scanf("%d",&a[n]);
while(a[n]!=0) //!=0
{ printf("Input a number:");scanf("%d", &a[++n]);} //&a[++n]
for(i =0;i <n;i ++)
{ j=i +1;
if(j==n)j=0; //j==n
k=2;prime=1;
m=a[i];
while(k<= sqrt(m))
{
if(m/k*k ==m)prime=0;
k ++; //k++
}
if(prime)
printf("%d,%d,%d,%d\n",i ,a[i ],j,a[j]);
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
中国人搞外国的破东东干什么
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询