❶ c語言,調用函數最簡單例子
1,調用非自身函數
void main(){
int n=0;
n=fun(n);
printf("%d",n);
}
int fun(int n){
if(n==0){
return 1;
}else{
return 0;
}
}
2,遞歸,函數調用自身
int fun(int n){
if(n==1){
return 1;
}else{
return n+fun(n-1);
}
}
❷ c語言,指針函數的程序,能舉個簡單點的例子嗎越簡單越好啊
#include <stdio.h>
/*求a+b*/
int plus(int a, int b) { return a + b; }
/*求a-b*/
int minus(int a, int b) { return a - b; }
/*求a*b*/
int multiply(int a, int b) { return a * b; }
/*求a/b*/
int divide(int a, int b) { return a / b; }
typedef int (*FUN)(int,int); /*定義基本四則運算的標准形式*/
char op[]="+-*/"; /*四則運算的符號*/
FUN fun[]={&plus, &minus, &multiply, ÷};/*四則運算的函數指針*/
/*下面的程序演示了如何用一個通用的函數指針連續處理多種不同的函數運算*/
int main(void)
{
int a = 6, b = 3, i = 0;
for(i = 0; i < 4; i++)
printf("%d %c %d = %d\n", a, op[i], b, (*(fun + i))(a,b));
return 0;
}
/*運行結果:
6 + 3 = 9
6 - 3 = 3
6 * 3 = 18
6 / 3 = 2
上面的程序說明,如果你有很多種類似的操作,形式上都一致,只不過內容有所不同,那麼你可以用函數指針去代替這些函數,這樣有時候會很方便
*/
❸ C語言 函數多實例 求水仙花數
//求出所有水仙花數。
#include<stdio.h>
intmain()
{
intx,y,z;
for(x=1;x<=9;x++)
for(y=0;y<=9;y++)
for(z=0;z<=9;z++)
if((x*x*x+y*y*y+z*z*z)==(x*100+y*10+z))
printf("%d%d%d",x,y,z);
return0;
}
然後利用前面的輸出:
#include<stdio.h>
intmain()
{
inta[4]={153,370,371,407},m,n,i;
boolflag;
while(scanf("%d%d",&m,&n)!=EOF)
{
flag=1;
for(i=0;i<4;i++)
{
if(a[i]>m&&a[i]<n)//這個地方我不知道是否可以是 if(a[i]>=m&&a[i]<=n),(不知道是開區間還是閉區間)
{
flag=0;
printf("%d",a[i]);
}
}
if(flag)
{
printf("no");
}
putchar(' ');
}
return0;
}
然後你的程序的問題起碼是輸出格式錯誤。因為你在輸出一組數據的答案是都沒有換行。
我們在主函數加入
freopen("test.3","w",stdout);
輸入樣例數據:
=====================================
樓主,不加freopen不容易看出輸出格式錯誤。
特別是usaco這種,一個' '都是嚴格要求的。
❹ c語言函數調用例子
C語言中,函數調用的一般形式為:函數名(實際參數表)
對無參函數調用時則無實際參數表。實際參數表中的參數可以是常數,變數或其它構造類型數據及表達式。各實參之間用逗號分隔。
在C語言中,可以用以下幾種方式調用函數:
1、函數表達式:函數作為表達式中的一項出現在表達式中,以函數返回值參與表達式的運算。這種方式要求函數是有返回值的。例如:z=max(x,y)是一個賦值表達式,把max的返回值賦予變數z。
2、函數語句:函數調用的一般形式加上分號即構成函數語句。例如: printf ("%d",a);scanf ("%d",&b);都是以函數語句的方式調用函數。
3、函數實參:函數作為另一個函數調用的實際參數出現。這種情況是把該函數的返回值作為實參進行傳送,因此要求該函數必須是有返回值的。
❺ c語言函數和數組結合
形參,可以是數組也可以是指針,形參變數名不需要和實參一樣,所以可不使用a做變數名。但數組傳參,傳的地址,即使閉實參和形參名不一樣,操作的地址都是一樣的。
❻ C語言中怎樣調用函數(舉個例子)
C語言中調用函數的方法及步驟:
工具/原料:C語言
1、首先需要輸入想要調用的函數。
❼ c語言中函數調用有三種方法,能幫忙各舉個例子嗎
1、首先在打開的C語言資料庫中,輸入【#include】,如下圖所示。
❽ c語言函數嵌套調用幫忙解釋下以下例子
主函數中調用了兩次f1函數 雖然for循環後沒寫{} 但是for if等 在沒有寫{}時默認執行之後的第一個語句 另外 你追問的int f2(int r); 這里你()中填寫的是int r 代表著 你是在這里剛聲明的 聲明int類型但是沒賦值時默認值為0 所以你不管把這里的變數改成什麼 結果傳遞給f2的值都會是0
❾ c語言 函數遞歸調用的簡單例子
舉一個用遞歸調用函數求輸入非負整數的階乘的例子,如下:
//#include"stdafx.h"//Ifthevc++6.0,withthisline.
#include"stdio.h"
intfact(intn){
if(n==1||n==0)return1;
elsereturnn*fact(n-1);
}
intmain(void){
intx;
while(1){
printf("Inputx(int12>=x>=0)... x=");
if(scanf("%d",&x),x>=0&&x<=12)//x>12時會使結果溢出
break;
printf("Error,redo:");
}
printf("%d!=%d ",x,fact(x));
return0;
}