新聞中心
c語(yǔ)言,輸出10以內(nèi)的累乘
#include?stdio.hint?main()
創(chuàng)新互聯(lián)公司是一家專注于做網(wǎng)站、成都做網(wǎng)站與策劃設(shè)計(jì),龍井網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)公司做網(wǎng)站,專注于網(wǎng)站建設(shè)10年,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:龍井等地區(qū)。龍井做網(wǎng)站價(jià)格咨詢:18982081108
{
int?i,p=1;
for(i=1;i=10;i++)
p*=i;
printf("10以內(nèi)的數(shù)累乘結(jié)果是:%d\n",p);
return?0;
}
c語(yǔ)言初學(xué),想做一個(gè)累乘的,不知道怎么改,求幫忙
#include "stdio.h"
void main()
{int i,t;
i=1;t=2;
for(;i = 5;++i){
i=i+1,t=t*i;
}
printf("%d",t);
}
累乘的前提你需要是不斷的循環(huán),這樣才能不斷的去增加
用C語(yǔ)言遞歸做累加和累乘 求大神指點(diǎn)錯(cuò)誤
你聲明的sum函數(shù)是沒(méi)有參數(shù)的,你調(diào)用時(shí),又給他了參數(shù),所以報(bào)sum函數(shù)參數(shù)調(diào)用錯(cuò)誤
另外,你的函數(shù)實(shí)現(xiàn)也有問(wèn)題,修改一下:
#include?"stdio.h"
int?pl(int?n);
int?sum(int?n);
void?main()
{
int?x,y,z,m;
scanf("%d",m)
x=pl(m);
y=sum(m);
printf("x=%d\n",x);
printf("y=%d\n",y);
}
int?pl(int?n)//求1*2*3*4*..*n
{
if(n==1)
return?1;
else
return?pl(n-1)*n;?
}
int?sum(int?n)?//求1+2+3+...+n
{
if(n==1)
return?1;
else
return?sum(n-1)+n;??
}
用c語(yǔ)言如何實(shí)現(xiàn)10!累乘
計(jì)算10!,可以通過(guò)簡(jiǎn)單的遞歸函數(shù)實(shí)現(xiàn),主要代碼如下,
#include stdio.h
long fact(int n) //遞歸函數(shù)求解階乘
{
if(n0)//輸入數(shù)據(jù)檢測(cè)
{
printf("輸入數(shù)據(jù)n應(yīng)=0!\n");
return -1;
}
if(n=1) //0!=1,1!=1
return 1;
else
return (n*fact(n-1)); //遞歸調(diào)用
}
int main(int argc, char *argv[])
{
printf("10!=%ld\n",fact(10));//打印10!
return 0;
}
c語(yǔ)言中,函數(shù)Func(Type a,……)直接或間接調(diào)用函數(shù)自身,則該函數(shù)稱為遞歸函數(shù)。遞歸函數(shù)必須滿足兩個(gè)條件,
1、每一次調(diào)用函數(shù)自身都更接近于解;
2、函數(shù) 必須有一個(gè)明確的終止處理或計(jì)算的準(zhǔn)則,比如本例中0!=1,1!=1。
C語(yǔ)言中累加累乘的算法是什么
累加累乘,呵呵,很簡(jiǎn)單的。
首先,就是定義一個(gè)變量(a=0)來(lái)保存結(jié)果,另定義一個(gè)變量(b)實(shí)現(xiàn)數(shù)值的變化。把數(shù)值變化的那個(gè)變量(b)的值每次和保存結(jié)果的變量(a)進(jìn)行運(yùn)算,結(jié)果賦給a.比如1——10的累加,就是先把1賦給a,之后b變成2,和a相加結(jié)果給a。如此反復(fù)就是累+。乘法一樣
我試著弄了一個(gè)C語(yǔ)言的累乘,累乘次數(shù)沒(méi)設(shè)定死,用函數(shù)做了,但是從第八次開(kāi)始以后輸出數(shù)值就不對(duì)了。
你的這個(gè)程序是在單片機(jī)上運(yùn)行的吧?
應(yīng)該是你的這個(gè)類型int的長(zhǎng)度是16位(處理器是16位)。
這樣int的范圍(-32768 ~ 32767), 第八次運(yùn)算, 5040 * 8 = 40320 32767.
所以在系統(tǒng)中存儲(chǔ)的是補(bǔ)碼。
40320 1001 1101 1000 0000
1110 0010 0111 1111 (反碼,符號(hào)位不變,其他位取反)
1110 0010 1000 0000 (補(bǔ)碼, 反碼加1)
1110 0010 1000 0000 經(jīng)計(jì)算, = - 110 0010 1000 0000.
即 -25216。
把int 改成long或者long long試一試。
名稱欄目:c語(yǔ)言用函數(shù)求累乘,累乘的函數(shù)
新聞來(lái)源:http://www.dlmjj.cn/article/hspigh.html