
同楼上的,实现+-替换用附值语句:
while(……)
{
sign*=-1// sign=-1*sign
……
}
//sign不是c语言的库函数,
sign(z,p); //表示对一个名为sign的函数调用,传递参数是变量z,p。
/*程序的功能是,求2到最大整数之间所有的质数*/#include<stdio.h>
int main(void)
{
/*定义一个整数,接收最大的范围*/
int zhengshu
/*循环控制变量*/
int n,j
/*用来记录是否是质数, 0是,1不是*/
int sign = 0
/*输入整数,如果不是整数退出*/
while (scanf_s("%d", &zhengshu)==1)
{
for (n = 2n<= zhengshun++)
{
for (j = 2j <= nj++)
{
/*2-n内有约数,不是质数,sign= 1;这里可以优化,if里面if (n % j == 0 )这样就行,然后for里面j <n*/
if (n % j == 0 &&j != n)
sign = 1
break
}
/*果是质数,输出*/
if (sign == 0)
{
printf("%d,\n", n)
}
/*下一个数,sign重新初始化为0*/
sign = 0
}
printf("请输入正整数:")
}
return 0
}
sign 不是标准C 语言里的东西。你这里的 sign 是整型变量。
它的值 一次 是 1,下一次就是 -1.
它的值 一次 是 -1,下一次就是 1.
通过 sign=-sign 作了 改变。
你的程序是 pi / 4 的近似计算
pi / 4 = 1 - 1/3 + 1/5 - 1/7 + 1/9 ....
pi / 4 = 1 + (-1)/3 + (1)/5 + (-1)/7 + (1)/9 ....
s 是 小括号里的东西。
t 是 项,第几次计算就是第几项(从 -1/3 项 开始)
sign 是 下一次循环 计算用的符号。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)