用C语言编写一个程序,设计一个判断素数的函数 C语言程序设计题,输入1个数,判断是否是素数,用调用函数的方...

\u7528C\u8bed\u8a00\u7f16\u5199\u4e00\u4e2a\u7a0b\u5e8f\uff1a\u5b9a\u4e49\u4e00\u4e2a\u5224\u65ad\u7d20\u6570\uff08\u8d28\u6570\uff09\u7684\u51fd\u6570\uff08\u51fd\u6570\u540d\u81ea\u62df\uff09\uff0c\u5728\u4e3b\u51fd\u6570\u8f93\u5165\u4e00\u4e2a\u6574\u6570\uff0c\u901a\u8fc7\u8c03\u7528

#includeint issushu(int x){int i;if(x==1||x=0){return -1;}for(i=2;i<=x/2;i++){if(x%i==0){return 0;}}return 1;}int main(){int num,temp;scanf("%d",&num);temp=issushu(num);if(temp){if(temp==1){printf("%d\u662f\u7d20\u6570\n",num);}else{printf("%d\u65e2\u4e0d\u662f\u7d20\u6570,\u4e5f\u4e0d\u662f\u5408\u6570\n",num);}}else{printf("%d\u4e0d\u662f\u7d20\u6570\n",num);}return 0;}

\u4f60\u6ca1c\u8bed\u8a00\u4e66\u554a
\uff0c\u8c2d\u6d69\u5f3a\u6559\u6388\u90a3\u7248\u5199\u7684\u5f88\u5168
#include
#include
main()
{
int
n,i;
float
disc;
scanf("%d",&n);
disc=sqrt(n);
for(i=2;i<=disc;i++)
{
if(n%i==0)
break;
}
if(i>disc)
printf("%d
is
",n);
else
printf("%d
is
not
",n);
printf("a
prime
number");
}

1.素数是一个大于1的自然数,除了1和它本身外,不能被其他自然数整除,换句话说就是该数除了1和它本身以外不再有其他的因数;

2.在数据处理时只需要判读他的因子除了1和他本身就行了,而且只用计算到 这个数的开方就行了,因为后面的因子和前面的就会倒过来。如同 24 -> 2 x 12 和 12 x 2 一样。

#include<stdio.h>

int IsPrime(int n)  // 判断是否为素数
{
    if (n <= 1) return 0;
    if (n % 2 == 0) return n == 2; // 如果是偶数,只要不是2,其他都是非素数

    for (int i = 3; ; i += 2)
    {
        if (i > n/i) break;  // 等价于 i*i > n, 不用开方
        if (n % i == 0) return 0;
    }
    return 1;
}

int main()
{
    int i, cnt = 0;
    for (i = 1; i < 100; i++)
    {
        if (IsPrime(i))
        {
            printf("%3d ", i);
            if (++cnt%5 == 0)   // 每5个换行
                printf("
");
        }
    }
    return 0;
}




1.素数是一个大于1的自然数,除了1和它本身外,不能被其他自然数整除,换句话说就是该数除了1和它本身以外不再有其他的因数;
2.在数据处理时只需要判读他的因子除了1和他本身就行了,而且只用计算到
这个数的开方就行了,因为后面的因子和前面的就会倒过来。如同
24
->
2
x
12

12
x
2
一样。
#include<stdio.h>
int IsPrime(int n) // 判断是否为素数
{
if (n <= 1) return 0;
if (n % 2 == 0) return n == 2; // 如果是偶数,只要不是2,其他都是非素数
for (int i = 3; ; i += 2)
{
if (i > n/i) break; // 等价于 i*i > n, 不用开方
if (n % i == 0) return 0;
}
return 1;
}
int main()
{
int i, cnt = 0;
for (i = 1; i < 100; i++)
{
if (IsPrime(i))
{
printf("%3d ", i);
if (++cnt%5 == 0) // 每5个换行
printf("\n");
}
}
return 0;
}

将 if(y=1) 改为 if(y==1)

这个可以。
可以 将 for(i=2;i<=n/2&&flag==1;i++)
改为for(i=2;i<=sqrt(n)&&flag==1;i++)可增加效率加math头文件

#include <stdio.h>
int prime(int n)
{int flag=1,i;
for(i=2;i<=n/2&&flag==1;i++)
if(n%i==0)
flag=0;
return flag;
}
void main()
{int x,y;
printf("请输入一个数\n");
scanf("%d",&x);
y=prime(x);
if (y==1) printf("这个数是素数\n");
else printf("这个数不是素数\n");
}
是y==0不是y=0

if (y=1) printf("这个数是素数\n");
应该是
if (y==1) printf("这个数是素数\n");
双等于

  • 鐢╟璇█缂栧啓涓涓▼搴,杈撳叆10涓暟姹傚钩鍧囧笺
    绛旓細C璇█:缂栧啓涓涓▼搴,浠庨敭鐩樿緭鍏10涓鐢熸垚缁,姹傚钩鍧囨垚缁┿1銆佽櫧鐒秏ain鍑芥暟鍙互浣滀负缁撴瀯浣撴垨鑰呯被鐨勬垚鍛樺嚱鏁帮紝浣嗙浉搴斿湴浼氬け鍘讳綔涓虹▼搴忓嚭鍏ュ彛鐨勫姛鑳姐 C++涓叏灞main鍑芥暟鐨勪功鍐欐牸寮忎笌C璇█瀹屽叏鐩稿悓锛屽姛鑳戒篃瀹屽叏鐩稿悓锛屼笖鍚屼竴C++绋嬪簭鍚屾牱鍙兘鏈変竴涓鍏ㄥ眬main鍑芥暟銆2銆佸惊鐜鍙ヤ腑杩涜10涓暟鐨勭疮鍔犲湪sum閲岄潰锛岀劧鍚...
  • C璇█缂栧啓涓涓▼搴,姹倄> y鐨勮繍琛岀粨鏋
    绛旓細浠ヤ笅鏄涓涓绠鍗曠殑C璇█绋嬪簭锛鍙互姣旇緝涓や釜鏁存暟x鍜寉锛屽苟鎵撳嵃鍑虹浉搴旂殑缁撴灉锛氬湪杩欎釜绋嬪簭涓紝鎴戜滑棣栧厛澹版槑浜嗕袱涓暣鏁板彉閲弜鍜寉锛岀劧鍚庝娇鐢╬rintf鍑芥暟鎻愮ず鐢ㄦ埛杈撳叆涓や釜鏁存暟銆傛帴涓嬫潵锛屾垜浠娇鐢╯canf鍑芥暟璇诲彇鐢ㄦ埛杈撳叆鐨勬暣鏁帮紝骞跺皢瀹冧滑瀛樺偍鍦ㄥ彉閲弜鍜寉涓傜劧鍚庯紝鎴戜滑浣跨敤涓涓猧f-else璇彞鏉ユ瘮杈儀鍜寉鐨勫笺傚鏋渪澶т簬y...
  • 濡備綍鐢╟璇█缂栧啓涓涓▼搴,鎸夌収涓瀹氱殑椤哄簭鎺掑垪涓浜涙暟瀛?
    绛旓細1锛庨鍏堬紝瀹氫箟涓涓缁撴瀯锛屽寘鎷暟鍊笺佹帓鍚嶅拰搴忓彿銆2锛庡畾涔夌粨鏋勬暟缁勫彉閲廳锛屼繚瀛樻墍鏈夋暣鏁颁俊鎭3锛庢帴涓嬫潵锛屽畾涔変竴涓嚜瀹氫箟鍑芥暟鏉ユ瘮杈冩暣鏁板簭鍒椾腑浠绘剰涓や釜鏁存暟鐨勫ぇ灏忋4锛庡畾涔変竴涓嚜瀹氫箟鍑芥暟锛屾瘮杈冩暣鏁板簭鍒椾腑浠绘剰涓や釜鏁板瓧鐨勫簭鏁板ぇ灏忋5锛庡湪涓诲嚱鏁颁腑锛岄鍏堝畾涔変袱涓暣鏁帮紝骞朵繚瀛樻暣鏁颁釜鏁板拰鎺掑悕璁℃暟銆6锛庝娇鐢╢or...
  • 濡備綍浣跨敤C璇█缂栧啓涓涓▼搴?
    绛旓細1銆佹柊寤涓涓宸ョ▼鍜.c鏂囦欢銆2銆佽緭鍏ヤ富鍑芥暟鍜屽ご鏂囦欢銆3銆佸畾涔夊嚱鏁扮被鍨嬪苟璧嬪垵鍊 銆4銆佽緭鍏ユ瘡涓涓垚缁┿5銆佺敤for璇彞閬嶅巻鏁翠釜鏁扮粍锛屽苟涓旈氳繃if...else璇彞褰掔被姣忎竴涓垎鏁版鐨勪汉鏁般6銆佽绠楀钩鍧囨暟銆7銆佽緭鍑烘眰鍑哄钩鍧囧垎,鏈楂樺垎鍜屾渶浣庡垎銆8銆佺紪璇戯紝杩愯锛屽緱鍒版渶鍚庣粨鏋溿
  • 鐢╟璇█缂栫▼:缂栧啓涓涓▼搴,杈撳叆4涓暟,姹傚叾骞冲潎鍊
    绛旓細绋嬪簭浠g爜濡備笅锛氱洿鎺ョ紪璇戯紝绋嬪簭杈撳嚭缁撴灉涓换鎰忚緭鍏4涓暟瀛楋紝绋嬪簭鎵ц缁撴灉濡備笅鍥炬墍绀猴細
  • 濡備綍鐢╟璇█缂栧啓涓涓杈撳叆涓涓暱鏂瑰舰闈㈢Н鐨绋嬪簭?
    绛旓細鏂规硶涓锛歩nclude <stdio.h> include <stdlib.h> int main(){ float a,b,C,S;printf("璇疯緭鍏ラ暱鏂瑰舰鐨勯暱\n");scanf("%f",&a);printf("璇疯緭鍏ラ暱鏂瑰舰鐨勫\n");scanf("%f",&b);C=(a+b)*2,S=a*b;printf("闀挎柟褰㈢殑鍛ㄩ暱鏄%f闈㈢Н鏄%f",C,S);return 0 } 鏂规硶浜岋細include <stdio....
  • C璇█缂栧啓绋嬪簭:璁捐涓涓瀛愬嚱鏁,鐢ㄤ互鍒ゆ柇涓涓暣鏁版槸鍚︿负绱犳暟,濡傛灉鏄,鍒...
    绛旓細include <stdio.h>#include <math.h>void main(){bool prime (int n);int n, m;printf ("杈撳叆涓涓鏁存暟: ");scanf ("%d", &n); m = prime (n);printf ("%d\n", m);}bool prime (int n){int k, j;int flag = 1;k = sqrt (n);for (j = 2; j <= k; j++)if...
  • C璇█:鐢ㄥ嚱鏁缂栧啓涓涓▼搴,浠庨敭鐩樿緭鍏ヤ竴涓甫鏈夌┖鏍肩殑瀛楃涓,鍘绘帀瀛楃涓...
    绛旓細1銆侀鍏堬紝闅忎究鍒涘缓涓涓湁main鏂规硶鐨勭被銆2銆佸畾涔変竴涓瓧绗︿覆鍙橀噺锛岃繖閲岀粰鍙橀噺璧嬪硷紝鍓嶅悗閮界暀鏈変竴涓绌烘牸銆3銆佸厛杩愯涓閬嶏紝鐪嬭緭鍑烘晥鏋滐紝鍙互鐪嬪埌鐧惧害鍖呮嫭绌烘牸鐨勫嚑涓瓧绗﹂兘鎵撳嵃鍑烘潵浜嗐4銆佷负浜嗘洿鍔犳竻鏅帮紝鐢ㄥ瓧绗︿覆瀵硅薄鍙﹀涓涓柟娉曗渓ength()鈥濆緱鍒版瀛楃涓茬殑闀垮害涓6锛 璇存槑鐨勭‘鏄滅櫨搴︹濆姞涓や釜绌烘牸鐨勯暱搴...
  • 濡備綍鐢╟璇█缂栧啓涓涓▼搴,瀹炵幇鎸変粠澶у埌灏忕殑椤哄簭鎺掑簭杈撳嚭10涓暟
    绛旓細鐢ㄩ夋嫨鎺掑簭娉缂栧啓c璇█锛瀹炵幇浠庨敭鐩樹笂杈撳叆10涓暟锛屾寜浠庡ぇ鍒板皬鐨勯『搴忔帓搴忚緭鍑恒備唬鐮佸涓嬶細include<stdio.h> int main(){ int i,j,a[10],t;printf("杈撳叆鏁");for (i = 0; i < 10; i++)scanf("%d",&a[i]);for (i = 0; i < 10; i++){ for (j = i + 1; j < 10;j...
  • 鐢–璇█缂栧啓涓涓▼搴,姹俛+(b鐨勭粷瀵瑰)鐨勫拰.
    绛旓細include<stdio.h> int main(){ int a,b,fb;scanf("%d%d",&a,&b);fb = abs(b);printf("a+|b| = %d\n", a+fb);return 0;}
  • 扩展阅读:学编程一年大概多少钱 ... 初学编程必背50个 ... c++入门程序代码 ... 少儿编程是学些什么东西 ... 免费自学编程的app ... 为什么不建议孩子学编程 ... 十大编程语言排名 ... 初学电脑入门教程 ... 孩子学编程最佳年龄 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网