1樓:網友
#define sum(n) (1+(n))*n)/2#include
void main()
int n,sum;
printf("enter your number:");
scanf("%d",&n);
sum=sum(n);
printf("the sum is %d",sum);
注意#define sum(n) (1+(n))*n)/2這行的n必須帶括號,否則容易出現計算錯誤。
2樓:網友
#include
#define p printf
void main()
int sum,i,n;
p("please enter the number n:");輸入你想要算到結束的數,要不要皆可,直接一句給出n也可*\
scanf("%d",n);
for(i=0;i<=n;i++)
sum=sum+i;
p("1+2+……d%=d%",n,sum);
帶引數的巨集就是指用"#define a b"型別的句子定義引數的程式。
這個例子就是乙個用帶引數的巨集做的。
貌似一樓的更正規一些。
向一樓的學習。
用c語言編寫乙個程式計算n!,要求:定義乙個帶引數的巨集,計算n!,並在主函式中使用這個巨集。
3樓:
如果要用巨集來實現階乘運算的話,要用到巨集巢狀和遞迴,有十分詳細的文件。
用c語言編寫程式∑1!+2!+……+n!
4樓:南打北來
你得有乙個大整數的類,才能解決這個問題……或者用陣列去裝這個結果,直接的double型別都不夠你使的……
編寫程式:計算並輸出1+2+3+...+n的值 要在子函式中實現,輸入和輸出在主函式完成
5樓:網友
第二行需要加乙個函式名,例如改為:
long f(int n)
s的定義必須初始化為0,所以第五行要改為:
long s=0;
倒數第二行的long(n)應該改為用函式名來呼叫子函式,所以應該是f(n)
6樓:風若遠去何人留
第乙個 long不能用作函式名,因為這個是關鍵字。
你可以寫成。
int func(int n)
如果你是想用long 做返回值型別, 那對於這個是沒什麼必要的。
第二個 函式里面 s初始值應該為0
比如int s=0;
第三個下面函式呼叫,也要跟著第乙個改一下。 比如 func(n)
c語言編寫乙個程式,求三個數中最小值,要求帶參巨集實現
7樓:網友
#include
#define max(a,b) (a)>(b)? a=a:a=b)
下面主程式裡可以改成。
int main()
8樓:風若遠去何人留
適用c語言中的?:操作,可以很方便的實現。
#define min(a,b,c) a>b?(b>c?c:b):(a>c?c:a)
其原理為,先比較a和b,再用較小值與c比較。
不過用乙個比較兩個數,得到最小值的巨集過渡,**會更清晰。
#define min2(a,b) (a>b?b:a)#define min3(a,b,c) (min2(a, min2(b,c)))
用C 編寫一個求100以內的。素數的程式。謝謝,
這是按照質數的定義最樸素的演算法。就是說除了一和它自身之外,任何數都不是它的因子。符合這樣條件的數就是一個素數。這程式的內迴圈,就是窮舉2 i 1這樣的數。如果這之間某個數能夠整出i。就提前退出迴圈。反過來,如果再整個內迴圈中一個滿足條件的數都沒有找到,那麼,內迴圈就會因為超過迴圈範圍而退出內迴圈。...
c語言編寫計算ab的程式,用C語言編寫一個程式,求a b的絕對值 的和
如下 int a 0 int b 0 printf a scanf d a printf n printf b scanf d b printf n printf a b d a b 效果圖 執行結果圖 拓展資料 c語言是一門通用計算機程式語言,廣泛應用於底層開發。c語言的設計目標是提供一種能以簡易...
編寫一lisp程式cad,求大神幫忙寫一個cad的lisp程式
試程式設計序如下,請校核。defun hang p r n repeat n command circle p r setq l cons p l p polar p 0 r r l defun sjy p r n i p1 p2 p3 l setq i 0 repeat n hang p r n ...