㈠ 用c語言表示M的N次方
main()
{
double
a,M,N,sum=1,;
scanf("%f,%f",&M,&N);
for(a=1;a<=(int)N;a++)
sum=sum*M;
printf("s=%f",sum);
}
由於不是整型,所以不能用pow(a,b)來搞,如果要求M的N次方,N必須是整型的才行,所以必須強制轉換成整型.~
㈡ c語言1階層加到10階層怎麼寫,我還是菜鳥
先寫一個求階乘的函數
long getSum(int s)
{
if(s==0)
return 1;
long m = 1;
for (int i = 1; i <= s; i++)
{
m *= i;
}
return m;
}
然後再主函數里
long result=0;
for(int i=1; i<=10; i++)
{
result+=getSum(i);
}
//result即為結果
㈢ c語言計算m的階乘除n的階乘乘m減n的階乘,演算法沒語法錯誤算出來是0.000請問為什麼
就是演算法錯了,羨帶埋而且是全錯,這個程序已經徹底錯完了。
三個while算階乘都是全錯。第一個while循環:m>=1時,乘積行埋因子里有m-1,則當m=1時,m-1=0,乘積因子有一個0,a=0。第二個兄螞while循環同樣錯誤。而最後一個錯得更離譜:前兩個while循環結束後,m=0,n=0,此時x=m-n=0。而且循環條件c>=1是怎麼來的?
整個程序全錯。
㈣ c語言 計算m的n次方 要求輸入m、n 輸出m的n次方
#include<stdio.h>
void main()
{
int m,n,i,sum=1;
printf("請輸入底數m(m>0)\nm=");
scanf("%d",&m);
if(m>0)
{
printf("\n請輸入冪次n\nn=");
scanf("%d",&n);
if(n>0)
{
for(i=1;i<=n;i++)
sum*=m;
printf("%d 的 %d 次冪等於 %d \n",m,n,sum);
}
}
}
已在VC檢測
㈤ C語言中M的N次方
//修改了一下,底數和指數由用戶輸入.冪的結果用數組存儲,計算後輸出.
#include<stdio.h>
#define MAX 1000
void main()
{
int ar[MAX]={1};//存儲冪的結果
int i, j, tmp;
int x,y;
int n=1; //統計位數
printf("輸入冪的底數和指數(x,y):");
scanf ("%d,%d", &x, &y);
for(i=1;i<=y;i++) {
tmp=0;//存儲進位值
for(j=0;j<n;j++) {
ar[j]=ar[j]*x+tmp;
tmp=ar[j]/10;
ar[j]=ar[j]%10;
}
while(tmp) {
n++;
ar[n-1]=tmp%10;
tmp/=10;
}
}
printf("\n%d的%d次冪等於", x, y);
for(i=n-1;i>=0;i--)
printf("%d", ar[i]);//從高位開始輸出結果
printf(".\n");
}
㈥ C語言中階乘怎麼輸
1、不是直接輸入n!,需要一定的演算法才可以實現。具體方法是,首先打開編輯器,准備好空白的C語言文件:
㈦ C語言求解不等式
#include <stdio.h>
int jie(int m) {//求前m個數的階層累加
int i=1;sum=0,mul=1;
for(;i<=m;i++) {
mul*=i;//乘積累加,如1!,2!,3!
sum+=mul;//前面數階層的累加
}
return sum;
}
void main() {
int m,n;
printf("please input n: ");//提示輸入n
scanf("%d",&n);
for(m=1;jie(m)<n;m++);//如果1!+...m!<n則m++ 所以最後的m剛好滿足1!+...m!>=n
printf("m<=%d\n",m-1);//所以臨界值是m-1
}