用C语言求解1-100之间的所有素数。 用C语言循环结构求解1-100之间的所有素数。写出程序设计思...

\u5982\u4f55\u7528C\u8bed\u8a00\u8ba1\u7b971\u5230100\u4e4b\u95f4\u7684\u7d20\u6570\u6709\u54ea\u4e9b\uff1f[\u5b66\u4e60]

//1.\u7a0b\u5e8f\u5206\u6790\uff1a\u5224\u65ad\u7d20\u6570\u7684\u65b9\u6cd5\uff1a\u7528\u4e00\u4e2a\u6570\u5206\u522b\u53bb\u96642\u5230sqrt(\u8fd9\u4e2a\u6570)\uff0c\u5982\u679c\u80fd\u88ab\u6574\u9664\uff0c\u5219\u8868\u660e\u6b64\u6570\u4e0d\u662f\u7d20\u6570\uff0c\u53cd\u4e4b\u662f\u7d20\u6570\u3002
//2.\u7a0b\u5e8f\u6e90\u4ee3\u7801\uff1a
#include "stdio.h"
#include "math.h"
main()
{
int m,i,k,h=0,leap=1;
printf("\n");
for(m=1;m<=100;m++)
{
k=sqrt(m+1);
for(i=2;i<=k;i++)
if(m%i==0)
{
leap=0;break;
}
if(leap)
{
printf("%-4d",m);
h++;
if(h%10==0)
printf("\n");
}
leap=1;
}
printf("\nThe total is %d",h);
return 0;
}

*\u95ee\u9898\u5206\u6790\u4e0e\u7b97\u6cd5\u8bbe\u8ba1
\u7d20\u6570\u5c31\u662f\u4ec5\u80fd\u88691\u548c\u5b83\u81ea\u8eab\u6574\u9664\u7684\u6574\u6570\u3002\u5224\u5b9a\u4e00\u4e2a\u6574\u6570n\u662f\u5426\u4e3a\u7d20\u6570\u5c31\u662f\u8981\u5224\u5b9a\u6574\u6570n\u80fd\u5426\u88ab\u96641\u548c\u5b83\u81ea\u8eab\u4e4b\u5916\u7684\u4efb\u610f\u6574\u6570\u6574\u9664\uff0c\u82e5\u90fd\u4e0d\u80fd\u6574\u9664\uff0c\u5219n\u4e3a\u7d20\u6570\u3002
\u7a0b\u5e8f\u8bbe\u8ba1\u65f6i\u53ef\u4ee5\u4ece2\u5f00\u59cb\uff0c\u5230\u8be5\u6574\u6570n\u76841/2\u4e3a\u6b62\uff0c\u7528i\u4f9d\u6b21\u53bb\u9664\u9700\u8981\u5224\u5b9a\u7684\u6574\u6570\uff0c\u53ea\u8981\u5b58\u5728\u53ef\u4ee5\u6574\u9664\u8be5\u6570\u7684\u60c5\u51b5\uff0c\u5373\u53ef\u786e\u5b9a\u8981\u5224\u65ad\u7684\u6574\u6570\u4e0d\u662f\u7d20\u6570\uff0c\u5426\u5219\u662f\u7d20\u6570\u3002
*\u7a0b\u5e8f\u4e0e\u7a0b\u5e8f\u6ce8\u91ca
#include
void main()
{
int n1,nm,i,j,flag,count=0;
do{
printf("Input START and END=?");
scanf("%d%d",&n1,&nm); /*\u8f93\u5165\u6c42\u7d20\u6570\u7684\u8303\u56f4*/
}while(!(n1>0&&n1<nm)); /*\u8f93\u5165\u6b63\u786e\u7684\u8303\u56f4*/
printf("...........PRIME TABLE(%d--%d)............\\n",n1,nm);
if(n1==1||n1==2) /*\u5904\u7406\u7d20\u65702*/
{
printf("%4d",2);
n1=3;count++;
}
for(i=n1;i<=nm;i++) /*\u5224\u5b9a\u6307\u5b9a\u8303\u56f4\u5185\u7684\u6574\u6570\u662f\u5426\u4e3a\u7d20\u6570*/
{
if(!(i%2))continue;
for(flag=1,j=3;flag&&j<i/2;j+=2)
/*\u5224\u5b9a\u80fd\u5426\u88ab\u4ece3\u5230\u6574\u6570\u7684\u4e00\u534a\u4e2d\u7684\u67d0\u4e00\u6570\u6240\u6574\u9664*/
if(!(i%j))flag=0; /*\u82e5\u80fd\u6574\u9664\u5219\u4e0d\u662f\u7d20\u6570*/
if(flag) printf(++count%15?"%4d":"%4d\\n",i);
}
}

Action()

{

int i,j;

int sum=0;

int flag;//是否为素数

for(i=2;i&lt;=100;i++){

flag=1;

for(j=2;j&lt;=i-1;j++){

if(i%j==0){

flag=0;

break;

}

}

if(flag==1){

sum+=i;

}

}

lr_output_message("sum=%d",sum);

return 0;

}

输出的结果:sum=1060

扩展资料:

方法二、使用函数:

Action()

{

int i;

int sum=0;

for(i=2;i&lt;=100;i++){

if(isPrime(i)){

sum+=i;

}

}

lr_output_message("素数之和sum=%d",sum);//loadrunner的输出,其他编译器可能是printf

return 0;

}

int isPrime(a){

int j;

int flag=1;

for(j=2;j&lt;=a-1;j++){

if(a%j==0){

flag=0;

break;

}

}

return flag;

}



#include <stdio.h>
#include <math.h>
int f(int n) 
{
 int i;
 //素数标准:只能被自己和1整除的数字
 for(i=2;i<=sqrt(n);i++)
 {
  //能被其他数整除,就不是素数
  if(n%i==0)
   return 0;
 }
 return 1;
}
int main()
{
 int i,k=0;
 printf("1至100之间的素数从小到大分别为:
");
 for(i=2;i<=100;i++)
 {
  //依次判断所有数字是否为素数
  if(f(i))
  {
   k++;
   printf("%d",i);
  }
 }
 printf("
总共%d个。
",k );
 return 0;
}



主要是素数的判定

int prim(int m)
{
    int i=2;
    int result = 0;
    for(i=2;i<m;i++)
    {
        if(m%i==0)//模运算,求余数
        {
            result = 1;
            break;
        }
    }
    return result;
}
int main()
{
    int i;
    for(i=2;i<=100;i++)
    {
        if(!prim(i))
            printf("%5d",i);
    }
}


#include <stdio.h>
#include <stdlib.h>
int main()
{
int a,b,c;
for(a=1;a<=100;a++)
{
for(b=1,c=0;b<=a;b++)
if(a%b==0) c++;
if(c<=2) printf("%d\n",a);

}
system("pause");
return 0;
}

  1 #include <stdio.h>
  2 
  3 int main(void){
  4     int i = 0;
  5     int j = 0;
  6     int cnt = 0;//cnt表示被整除的次数
  7     int size = 0;//size表示素数个数
  8     for(i = 2;i <= 100;i++){//1不是素数 所以从2开始循环
  9         for(j = 2;j <= 100;j++){
 10             if(i % j == 0){
 11                 cnt++;
 12             }
 13         }
 14         if(cnt == 1){
 15             printf("%d ",i);
 16             size++;
 17         }
 18         cnt = 0;
 19     }
 20     printf("
");
 21     printf("%d
",size);
 22     return 0;
 23 }
 
 输出结果:
 
 2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97 
 25


  • 濡備綍鐢–璇█璁$畻浠1鍒100涔嬮棿鐨鏁?
    绛旓細1銆佽緭鍏鍜孨锛2銆侀亶鍘嗕粠M鍒癗鐨勬墍鏈夋暣鏁帮紱3銆佹瘡涓疮鍔狅紱4銆佽緭鍑虹粨鏋溿傚弬鑰冧唬鐮侊細include <stdio.h>int main(){ int M,N,n,s=0; scanf("%d%d",&M,&N);//杈撳叆 for(n = M; n <= N; n ++)//閬嶅巻 s+=n;//绱姞姣忎釜鏁存暟銆 printf("%d\n",s);//杈撳嚭缁撴灉銆
  • 鐢–璇█姹傝В1-100涔嬮棿鐨鎵鏈夌礌鏁般
    绛旓細int sum=0;int flag;//鏄惁涓虹礌鏁 for(i=2;i<=100;i++){ flag=1;for(j=2;j<=i-1;j++){ if(i%j==0){ flag=0;break;} } if(flag==1){ sum+=i;} } lr_output_message("sum=%d",sum);return 0;} 杈撳嚭鐨勭粨鏋滐細sum=1060 ...
  • c璇█缂栧啓绋嬪簭:姹傚嚭1-100涔嬮棿鐨瀹屽叏鏁.鎵璋撳畬鍏ㄦ暟鏄寚杩欐牱鐨勬暟,璇ユ暟...
    绛旓細include <stdio.h>#define MAX 100 /*100浠ュ唴鐨勫畬鍏ㄦ暟*/int main (void) {int x,temp,sum; /*X琛ㄧず瑕佸垽鏂殑鏁帮紝temp琛ㄧず鏁扮殑鍥犲瓙锛宻um琛ㄧず鍥犲瓙涔嬪拰*/for (x=1; x<=MAX; x++) {sum= 0;for(temp=1; temp<x; temp++) { /*鍒ゆ柇x鑳藉惁琚玹emp鏁撮櫎锛屽鏋滃彲浠ワ紝鍒欐槸鍥犲瓙锛岃繘琛屾眰鍜*/if...
  • c璇█ 缂栧啓绋嬪簭鎵惧嚭1-100涔嬮棿鎵鏈夌殑瀹屾暟銆
    绛旓細include <string.h> int main(){ int i,j,s,n=0,m;int a[10];for(i=2;i<=100;i++){ s = 0;n = 0;memset(a, 0, sizeof(a)); //娓呴浂 for (j=1;j<i;j++){ if (i%j==0){ a[n]=j ;n++ ;s=s+j;} } if ( { printf("%d its factors are : ",s);...
  • C璇█涓浣姹1鍒100涔嬮棿鐨鎵鏈夊鏁颁箣鍜?
    绛旓細鍦–璇█涓紝鍙互浣跨敤寰幆缁撴瀯鍜屽垽鏂鍙ユ潵姹1鍒100涔嬮棿鐨勫叏閮ㄥ鏁颁箣鍜銆傚叿浣撳仛娉曞彲浠ユ槸:瀹氫箟涓涓彉閲忔潵瀛樺偍濂囨暟涔嬪拰 浣跨敤涓涓惊鐜粨鏋勯亶鍘1鍒100 鍦ㄥ惊鐜腑浣跨敤鍒ゆ柇璇彞鍒ゆ柇褰撳墠鏁版槸鍚︿负濂囨暟 濡傛灉褰撳墠鏁颁负濂囨暟,鍒欏皢鍏跺姞鍒板鏁颁箣鍜屽彉閲忎腑 寰幆缁撴潫鍚,杈撳嚭濂囨暟涔嬪拰 鍏蜂綋绀轰緥濡備笅锛氳鐐瑰嚮杈撳叆鍥剧墖鎻忚堪 int ...
  • c璇█鎬庝箞璁$畻1-100绱姞
    绛旓細涓銆鐢–璇█璁$畻1鍒100鐨绱姞鐨勬楠 1銆侀鍏堬紝鎵撳紑Visual C++锛2銆侀夋嫨鏂囦欢锛屾柊寤猴紱3銆佸乏渚ч夋嫨win32 console application锛屽苟鍦ㄥ彸渚ч夋嫨杈撳叆宸ョ▼鐨勫悕绉板拰鍦板潃锛岀偣鍑荤‘瀹氾紱4銆侀夋嫨涓涓┖宸ョ▼锛屽畬鎴愶紱5銆佸啀娆$偣鍑绘枃浠讹紝鏂板缓锛6銆侀夋嫨c++source file 骞惰緭鍏ユ枃浠跺悕锛岀偣鍑荤‘瀹氾紱7銆佽緭鍏ュ鍥炬墍绀虹殑浠g爜锛屾敞鎰...
  • 鐢–璇█寰幆缁撴瀯姹傝В1-100涔嬮棿鐨鎵鏈夌礌鏁般傚啓鍑虹▼搴忚璁℃濊矾銆佸叧閿鍙...
    绛旓細if(n1==1||n1==2) /*澶勭悊绱犳暟2*/ { printf("%4d",2);n1=3;count++;} for(i=n1;i<=nm;i++) /*鍒ゅ畾鎸囧畾鑼冨洿鍐呯殑鏁存暟鏄惁涓虹礌鏁*/ { if(!(i%2))continue;for(flag=1,j=3;flag&&j
  • C璇█ 缂栫▼瀹炵幇璁$畻1鈥100涔嬮棿璁$畻鎬诲拰鏄灏,鎵鏈夌殑濂囨暟涔嬪拰浠ュ強鍋舵暟涔...
    绛旓細} if(start%2 == 0) { for (i = start; i<end+1; i+=2) { even += i; } for (i = start+1; i<end+1; i+=2) { odd += i; } } if(start%2 == 1)
  • C璇█ 缂栫▼姹1-100涔嬮棿鎵鏈夋暟鎹箣鍜
    绛旓細include<stdio.h> void main(){ int sum,i;sum=0;for(i=1;i<=100;i++){ sum = sum+i;} printf("%d",sum);} 鎴 include<stdio.h> void main(){ int sum;sum=0;sum = 101*100/2;printf("%d",sum);}
  • 鐢╟璇█缂栧啓:1.姹1~100涔嬮棿鎵鏈夎兘琚3鏁撮櫎鐨勬暟涔嬪拰
    绛旓細1锛屾渶瀹规槗鐞嗚В鐨勫仛娉 include<stdio.h> main(){ int i,sum;for(i=3;i<100;i=i+3)sum+=i;printf("sum=%d\n",sum);} 2, #include<stdio.h> include<math.h> main(){int i,j,n,m=0;for(i=101;i<=500;i+=2){ n=sqrt(i+1) //锛+1锛変互鍏嶆暟鎹瓨鍌ㄨ宸 for (j=2...
  • 扩展阅读:c++入门程序代码 ... python编程入门自学 ... c++新手代码大全 ... c++必背代码 ... c++编程题经典100例 ... c++编程必背50个代码 ... python基础代码大全 ... c语言求1-100累加和 ... 用c语言求1到100的和 ...

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