C语言的问题
题目: 输入一个整数,判断是否是素数(只能被1和它本身整除的并且大于1的自然数)看看底下的编程对不对,错了要怎么改? main() {int x=1,n,i; scanf("%d",&n); if (n==2) printf("是素数"); else for (i=2;i<n;i++) {if (n%i==0){x=0;break;} else continue;} if (x==0) printf("不是素数") else printf("是素数");}
这个问题在另外一个区已经回答过了-____-b main() { int x = 1, n, i; int sqrtn = 0; scanf( "%d", &n ); if ( n <= 0 ) { printf( "%d不是素数\n", n ); return; } if( n==2 ) { printf( "%d是素数\n", n ); return; } sqrtn = int(sqrt(n)); for( i=2; i<=sqrtn; i++ ) { if( n%i == 0 ) { x = 0; break; } } if( x == 0 ) { printf( "%d不是素数\n", n); } else { printf( "%d是素数\n", n ); } } 1。
引入sqrtn是为了避免每次都计算n的平方根浪费 2。引入对n<=0的判断是为避免后面计算平方根出错 。
你的程序中少了一个";",并且有一个中文“;” 以下是我改正后的样子 main() { int x=1,n,i; scanf("%d",&n); if (n==2) printf("是素数"); else for (i=2;i
你这个程序应该是可以正常运行的,而且输出结果也应该是正确的。 但是你的算法可以再改进,比如,你优先判断完2之后,可以先判断n是不是偶数,然后for(i=3;i
答:楼上的算法可以简化一下: #include #include #include #include int main(void) { int n = 0;...详情>>
问:挺简单的一C函数,不过我是初学者,暂时还不会写,请好心人多多帮忙!
答:int mystrlen(char *str) { int n = 0; while (*str) { n++; str++;} return n; } voi...详情>>