A. c語言用數組解決求100以內素數
把for(q=0;q<=100;q++)改成for(q=1;q<100;q++)——因為a[0]==1,肯定不是素數,且=100就越界了。
for(o=2;o<=a[q];o++)改成for(o=2;o<a[q];o++)——因為任何數都會被自身整除。
把if(p=1)改成(p==1)——if(p=1)這樣寫這個if如同白設,因為p=1總是為「真」。
B. C語言:求100以內的素數,用數組完成此題。
#include<stdio.h>
intmain()
{
inti;
inta[100],b[100];
intcount=0;
for(i=1;i<=100;i++)
{
intCnt=0;
a[i-1]=i;
for(intj=1;j<=i;j++)
{
if(a[i-1]%j==0)
Cnt++;
}
if(Cnt==2)
{
b[count]=a[i-1];
count++;
}
}
printf("100以內總共有%d個素數,分別如下: ",count);
for(i=0;i<count;i++)
{
printf("%d ",b[i]);
}
printf(" ");
return0;
}
說明:剛剛在VC6.0下現寫的,附圖片
C. 怎麼判斷1到100之間的素數用C語言程序
這好像是C語言書上一個例子,lz問之前可以搜一下,這題被網上問過好多了。。。下面為
判斷素數的方法:用一個數分別去除以2到sqrt(這個數),如果能被整除, 則表明此數不是素數,反之是素數。
#include〈math.h〉
main()
{ int m,k,i;
for(m=1;m<=100;m=m+2) //m=m+2,因為偶數都不是素數,不用考慮,所以每次m+2.
{ k=sqrt(m) //先求這個數的平方跟
for(i=2;i<=k;i++) //然後用i(從2到k,即m的平方跟)去除m,
if(m%i==0) break; //如果能被整除, 則不是素數,break
if(i>=k+1) pritnf("%d",m); //如果i>k+1,則說明沒有數能整除m.則m是素數
}
}
D. 用C語言求解1-100之間的所有素數。
Action()
{
int i,j;
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
(4)c語言判斷100以內素數數組擴展閱讀:
方法二、使用函數:
Action()
{
int i;
int sum=0;
for(i=2;i<=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<=a-1;j++){
if(a%j==0){
flag=0;
break;
}
}
return flag;
}
E. C語言 輸出1到100之間的全部素數
有三種方法:
1、輸出1-100以內的素數:
(5)c語言判斷100以內素數數組擴展閱讀:
在這個小程序中主要用到的是for循環
for 循環語句的一般形式為:
for (表達式1; 表達式2; 表達式3)
{
語句;
}
需要注意的兩點:
1) 表達式1、表達式2和表達式3之間是用分號;隔開的,千萬不要寫成逗號。
2)for(表達式1;表達式2;表達式3)的後面千萬不要加分號,很多新手都會犯這種錯誤——會情不自禁地在後面加分號。
因為 for 循環只能控制到其後的一條語句,而在C語言中分號也是一個語句——空語句。所以如果在後面加個分號,那麼 for 循環就只能控制到這個分號,下面大括弧裡面的語句就不屬於 for 循環了。
F. 用C語言,判斷1-100之間有多少個素數,並輸出所有素數。
可以使用篩法來判斷 1-100 之間有多少個素數,並輸出所有素數。篩法是一種通過枚舉合數的因子來篩選出素數的方法。
下面是用 C 語言實現的代碼示例:
#include <stdio.h>
#include <stdbool.h>
#define N 100
int main(void)
{
// 創建一個 bool 類型的數組,用來存儲每個數是否為素數
bool prime[N + 1];
// 初始化數組,假設所有數都是素數
for (int i = 0; i <= N; i++)
prime[i] = true;
// 使用篩法篩選出素數
for (int i = 2; i <= N; i++)
{
// 如果 i 不是素數,則跳過
if (!prime[i])
continue;
// 輸出 i
printf("%d ", i);
// 將 i 的倍數標記為合數
for (int j = i * i; j <= N; j += i)
prime[j] = false;
}
return 0;
}
運行結果如下:
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
在這個程序中,使用了一個 bool 類型的數組來存儲每個數是否為素數。使用篩法篩選出 1-100 之間的素數,並輸出每個素數。
需要注意的是,C 語言沒有內置的 bool 類型,需要使用頭文件 stdbool.h 來支持 bool 類型。在上面的代碼中,需要包含頭文件 stdio.h 和 stdbool.h。