① c語言求1-5000中的素數並輸出,運用調用函數。
if(i>k)return 1;
else return 0;
這兩句移到for循環外面去。即改成這樣:
for(i=2;i<=k;i++)
{
if(x%i==0)
break;
}
if(i>k)return 1;
else return 0;
② C語言編程 輸出m到n之間的素數 要求定義函數 請幫助我找出錯誤
#include<stdio.h>
#include<math.h>
intprime(intn)
{
intt,i,J=(n>1)?1:0;
t=(int)sqrt(n);
for(i=2;i<=t;i++)
{
if(n%i==0)
{
J=0;
break;
}
}
returnJ;
}
intmain()
{
intm,n,i,a;
intflag=0;
scanf("%d%d",&m,&n);
for(i=m;i<=n;i++)
{
a=prime(i);
if(a==1)
{
if(flag==0)
printf("%d",i),flag=1;
else
printf("%d",i);
}
}
puts(flag?"":"NoAnswer");
return0;
}
③ 用C語言寫出輸出1到100內的素數 要用自定義函數
剛學C語言,可能寫得有點復雜:
#include <stdio.h>
#include <stdlib.h>
main()
{
int a,b,i;
printf("2,");
for(a=3;a<=100;a++)
{ i=0;
b=2;
for(;b<a;b++)
{if(a%b!=0)
i++;
if(i==a-2)printf("%d,",a);
}
}
getch();
}
④ C語言 輸出1到100之間的全部素數
有三種方法:
1、輸出1-100以內的素數:
(4)c語言輸出素數要求引用函數擴展閱讀:
在這個小程序中主要用到的是for循環
for 循環語句的一般形式為:
for (表達式1; 表達式2; 表達式3)
{
語句;
}
需要注意的兩點:
1) 表達式1、表達式2和表達式3之間是用分號;隔開的,千萬不要寫成逗號。
2)for(表達式1;表達式2;表達式3)的後面千萬不要加分號,很多新手都會犯這種錯誤——會情不自禁地在後面加分號。
因為 for 循環只能控制到其後的一條語句,而在C語言中分號也是一個語句——空語句。所以如果在後面加個分號,那麼 for 循環就只能控制到這個分號,下面大括弧裡面的語句就不屬於 for 循環了。
⑤ 用C語言編程找出素數,要求定義個函數,在指定范圍內比如7位數內找出素數,統計個數並輸出,初學者
忘了計數了,改下:
#include "stdafx.h"
#include <iostream>
using namespace std;
int sushu(int k)
{
int yes = 1;
for (int i = 2; i <= sqrt(k); i++)
if (k%i == 0)
yes = 0;
return yes;
}
int main()
{
int n,count=0;
cout << "請輸入數字范圍:" << endl;
cin >> n;
for (int i = 2; i <= n; i++)
{
if (sushu(i))
{
cout << i << " ";
count++;
}
}
cout << "總數:" << count << endl;
system("pause");
return 0;
}
⑥ c語言 求素數,要求調用函數
樓主的代碼看的真是讓我蛋疼,全局太多、函數定義和聲明參數都沒有類型、判斷是否素數居然返回double、printf用法錯誤...各種我就不說了,給你修改了一下,編譯運行成功,代碼如下:
#include<stdio.h>
bool prime(int x);
int main()
{
int m,n,count=0,i,sum=0;
scanf("%d",&m);
scanf("%d",&n);
for(i=m;i<=n;i++){
if(prime(i))
{
count++;
sum=sum+i;
}
}
printf("count=%d,sum=%d ",count,sum);
return 0;
}
bool prime(int x)
{
int a;
bool result = false;
for(a=2;a*a<=x;a++)
{
if(x%a==0)
break;
}
if(a*a>x)
result = true;
return result;
}
⑦ c語言 調用函數,輸出100到200之間的所有素數
素數是只有1和自身才能整除的數。調用自定義的函數prime,對100~200間的奇數進行判斷,是素數則輸出。舉例代碼如下:
#include"stdio.h"
intprime(intn){//判斷100~200間的數是否為素數
inti;
if(!(n&1))
return0;
for(i=3;i*i<=n;i+=2)
if(!(n%i))
return0;
return1;
}
intmain(intargc,char*argv[]){
intn;
for(n=101;n<200;n+=2)
if(prime(n))//調用prime判斷n是否為素數
printf("%4d",n);//是則輸出n
printf(" ");
return0;
}
⑧ C語言:輸出1000~2000之間的所有素數,每行輸出8個,要求調用求素數函數。
#include <stdio.h>
int sushu(int n)
{
int i;
for(i=2;i<n;i++)
{
if(n%i==0)
return 0;
}
return 1;
}
int main ()
{
int n,m,j=0;
for(n=1000;n<=2000;n++)
{ m=sushu(n);
if(m==1)
{
printf("%d ",n);
j++;
if(j%8==0)
printf(" ");
}
}
return 0;
}
(8)c語言輸出素數要求引用函數擴展閱讀:
定義:質數又稱素數。一個大於1的自然數,除了1和它自身外,不能被其他自然數整除的數叫做質數;否則稱為合數。
性質:素數大於等於2 不能被它本身和1以外的數整除。
函數在編程中的定義:
函數過程中的這些語句用於完成某些有意義的工作——通常是處理文本,控制輸入或計算數值。通過在程序代碼中引入函數名稱和所需的參數,可在該程序中執行(或稱調用)該函數。
類似過程,不過函數一般都有一個返回值。它們都可在自己結構裡面調用自己,稱為遞歸。
大多數編程語言構建函數的方法里都含有函數關鍵字(或稱保留字。
參考資料來源:網路-函數
⑨ C語言改錯,輸入一個數,輸出它是不是素數,要用函數調用的方法
break 是 退出 循環,你這個只退出了while循環,應該用 return 退出這個調用函數,退出循環後在做判斷,而且用sqrt()時要注意2的特殊性,
#include<stdio.h>
#include<math.h>
int main()
{
int judge (int a);
int n;
printf("請輸入需要判斷的數:(0退出)\n");
do{
scanf("%d",&n);
judge (n);
}while(n!=0);
return 0;
}
int judge (int a)
{
int m,n,u;
float t;
u=a;
for(m=2;m<=sqrt(a);m++)
{
n=a%m;
if(n==0)
break;
}
if(m>sqrt(a)&&m!=2)
printf("%d是素數\n",a);
else
if(m==2||m<=sqrt(a))
printf("不是素數\n");
return 0;
}
你試試看, 我也是初學, 菜鳥哦
⑩ c語言,輸出1-100之間的所有素數,運用自定義函數!用循環來寫。
看代碼:
#include<stdio.h>
#include<math.h>
//判斷是否是素數,是的話返回1,不是返回0
intis_prime(intnum)
{
if(num<2)
{
return0;
}
inti,tmp=(int)sqrt(num);
for(i=2;i<=tmp;++i)
{
if(num%i==0)
{
return0;
}
}
return1;
}
intmain(intargc,char**argv)
{
inti;
printf("1~100的素數: ");
for(i=1;i<=100;++i)
{
if(is_prime(i))
{
printf("%d ",i);
}
}
return0;
}
運行: