3.程序改错 (1)下列程序的功能是求1+3+5+…99的和。 #include <stdio.h> void main( ) { int s,i; ★ i=1; while(i<=99) s=s+i; ★ printf("1+3+5+…99的和是:%d\n",s); } (2)下面程序的功能是输入一个正整数,判断是否是素数,若为素数输出1,否则输出0。 #include <stdio.h> void main() { int i,x,y=0; ★ scanf("%d",&x); for(i=2;i<=x/2&&y;i++) if ((x%i)!=0) y=0; ★ printf("%d\n",y); }
时间: 2023-12-02 21:03:57 浏览: 47
(1)程序改错如下:
```
#include <stdio.h>
void main()
{
int s=0,i=1; //将s初始化为0
while(i<=99)
{
s=s+i;
i+=2; //每次加2
}
printf("1+3+5+…99的和是:%d\n",s);
}
```
(2)程序改错如下:
```
#include <stdio.h>
void main()
{
int i,x,y=1; //将y初始化为1,因为默认x是素数
scanf("%d",&x);
for(i=2;i<=x/2;i++) //去掉 &&y
{
if ((x%i)==0)
{
y=0;
break; //找到一个因子就退出循环
}
}
printf("%d\n",y);
}
```