在使用一個函數之前必須先對他進行聲明:
網站建設哪家好,找創新互聯!專注于網頁設計、網站建設、微信開發、微信小程序開發、集團企業網站建設等服務項目。為回饋新老客戶創新互聯還提供了芮城免費建站歡迎大家使用!
//void B();聲明B函數的存在。void A(){B();//非法,程序執行到此時并不知道B函數的存在。}void B(){}
或者
#include stdio.h
#include stdlib.h
#include math.h
int fa(int n)
{
int a;
for(a=2;a=sqrt(n*1.0),n%a!=0;a++);
if(asqrt(n*1.0))
return(1);
else
return(0);
}
void main( )
{
int n,q;
scanf("%d",n);
擴展資料
#include stdio.h
#include stdlib.h
#include math.h
int fa(int n)
{
int a;
for(a=2;a=sqrt(n*1.0),n%a!=0;a++);
if(asqrt(n*1.0))
return(1);
else
return(0);
}
void main( )
{
int n,q;
scanf("%d",n);
if(fa(n)==1)
printf("n");
else
printf("y");
system("pause");
exit(0);
}
參考資料:百度百科 - C語言函數
有些自定義函數可能會被頻繁的調用,所以寫在一個C文件里是不太方便的。應該把這些自定義的函數寫在一個C文件里,同時在一個頭文件.h文件里聲明。主函數可以通過引用該頭文件然后調用需要的自定義函數。
舉例如下:
1. 在頭文件(.h)里聲明自定義函數,定義用戶寫的函數;
2. 在一個C語言文件里寫下自定義函數的實現方式,可以寫在主函數前,也可在主函數后(需在頭文件前聲明函數);
3. 在主函數中調用自定義函數,別忘了頭文件的聲明;
4. 最后編譯所有的涉及到的C文件;
#include stdio.h
void number(int);
int main()
{
for(int i = 0;i10;i++)
{
number(i);
就是不需要參數,在調用的時候不需要傳遞參數
例如自己定義一個void fun(void){};
這就是返回值為空 參數為空 函數名為fun的函數
在c語言中void可以省略 但是一般省略參數 不省略返回值
調用的時候使用fun();就可以了
(1)素數判斷函數:是返回1,否則返回0
int?prime(int?n){
int?i;
if(n2??!(n1)?||?n2)
return?0;
for(i=3;i*i=n;i+=2)
if(!(n%i))
return?0;
return?1;
}
(2)編寫排序函數(冒泡排序、選擇排序)
void?bubbling(int?*p,int?n){//冒泡
int?i,j,k;
for(i=0;in;i++)
for(j=1;jn;j++)
if(p[j]p[j-1])
k=p[j],p[j]=p[j-1],p[j-1]=k;
}
void?select(int?*p,int?n){//選擇
int?i,j,k;
for(n--,i=0;in;i++){
for(k=i,j=k+1;j=n;j++)
if(p[k]p[j])
k=j;
if(k-i)
j=p[k],p[k]=p[i],p[i]=j;
}
}
(3)查找函數,找到返回下標,否則返回-1
int?find(int?*p,int?n,int?x){//順序
int?i;
for(i=0;in;i++)
if(p[i]==x)
return?i;
return?-1;
}
int?fihalf(int?*p,int?n,int?x){//折半,升序為例
int?l,r,m;
l=0,r=n-1;
while(m=(l+r)1,lr??p[m]-x)
p[m]x???l=m+1?:?r=m-1;
return?p[m]==x???m?:?-1;
}
(4)插入函數,升序為例
在C中函數是不可以嵌套定義的,也就是說
在main函數里寫自定義函數
這種說法是錯誤的,你只能在Main外面定義,在Main中調用
比如:
int
max(int
a,int
b)
{if
(ab)
return
a;else
return
b;}
main()
{
printf("%d\n",max(3,7));
}