本文目錄一覽:
- 1、怎樣用C語言編寫數學公式
- 2、C語言設計一個數學類計算的程序
- 3、C語言編程 課程設計 數學遊戲
- 4、c語言程序設計(求數學函數f(x)=x^3+x^2+x+1的值)
- 5、C語言,設計一個程序幫助小學生練習數學。
怎樣用C語言編寫數學公式
1、C語言有現場的常用數學函數,所在函數庫為math.h、stdlib.h。
函數名及解釋:
int abs(int i) 返回整型參數i的絕對值
double cabs(struct complex znum) 返回複數znum的絕對值
double fabs(double x) 返回雙精度參數x的絕對值
long labs(long n) 返回長整型參數n的絕對值
double exp(double x) 返回指數函數ex的值
double frexp(double value,int *eptr) 返回value=x*2n中x的值,n存貯在eptr中
double ldexp(double value,int exp); 返回value*2exp的值
double log(double x) 返回logex的值
double log10(double x) 返回log10x的值
double pow(double x,double y) 返回xy的值
double pow10(int p) 返回10p的值
double sqrt(double x) 返回+√x的值
double acos(double x) 返回x的反餘弦cos-1(x)值,x為弧度
double asin(double x) 返回x的反正弦sin-1(x)值,x為弧度
double atan(double x) 返回x的反正切tan-1(x)值,x為弧度
double atan2(double y,double x) 返回y/x的反正切tan-1(x)值,y的x為弧度
double cos(double x) 返回x的餘弦cos(x)值,x為弧度
double sin(double x) 返回x的正弦sin(x)值,x為弧度
double tan(double x) 返回x的正切tan(x)值,x為弧度
double cosh(double x) 返回x的雙曲餘弦cosh(x)值,x為弧度
double sinh(double x) 返回x的雙曲正弦sinh(x)值,x為弧度
double tanh(double x) 返回x的雙曲正切tanh(x)值,x為弧度
double hypot(double x,double y) 返回直角三角形斜邊的長度(z),x和y為直角邊的長度,z2=x2+y2
2、複雜的數學函數可以用自定義函數的形式實現。
例如:
double ConerVelocity(int A, double x1, double y1, double x2, double y2, double t1, double t2)
{
double T,V;
T=acos(abs(x1 * x2 + y1 * y2)/ sqrt(x1 * x1 +y1 * y1)/sqrt(x2 * x2 +y2 * y2));
V= (A * (t2-t1))/(2*sin(T/2));
return V;
}
C語言設計一個數學類計算的程序
#include stdio.h
#include time.h
#include stdlib.h
int main()
{
srand((unsigned int)time(NULL));
int arr[5];
int i=0, j=0, k=0;
for(; i5; i++)
arr[i] = rand()%10 + 1;
for(i=0; i2; i++){
for(j = i+1; j4; j++){
for(k = j+1; k5; k++){
if((arr[i]+arr[j]+arr[k])%10 == 0){
int* tmp = new int[2];
int* temp = tmp;
for(int m=0 ; m5; m++){
if(m != i m!=j m != k)
*temp++ = arr[m];
}
printf(“%d+%d\n”, tmp[0], tmp[1]);
delete []tmp;
}
}
}
}
return 0;
}
C語言編程 課程設計 數學遊戲
我先編一編哦,代碼寫好了我會放在我的百度空間的文章裡邊的,到時候你到那裡去找吧
你最好也自己編一編吧,編程這東西是越編越會的,不編永遠也不會的,加油啦!
c語言程序設計(求數學函數f(x)=x^3+x^2+x+1的值)
#includestdio.h
void main()
{
int x = 0;
int result = 0;
printf(“x=”);
scanf(“%d”,x);
result = x*x*x + x*x + x + 1;
printf(“f(x)=%d\n”,result);
return;
}
C語言,設計一個程序幫助小學生練習數學。
1L的哥們竟然沒有分數也沒有讀寫文件記錄,我在他的基礎上加了這個功能,採納誰都可以哦~
#include stdio.h
#include ctype.h
#include time.h
#include stdlib.h
#include windows.h
#define IDNO_LENGTH 6
#define CALC_KIND 4
#define CALC_NUM 10
bool checkNo(char idNo[]);
char getSignal();
int getResult(int,int,char);
void takeTest();
//main函數
void main()
{
printf(“Please input your four digit ID no(begin with two letters):”);
char idNo[IDNO_LENGTH];
do
{
scanf(“%s”,idNo);
fflush(stdin);
} while(checkNo(idNo)==false);
printf(“1.Start a test\t2.Check score\t3.Exitb\n”);
int choose;
do
{
printf(“選擇:”);
scanf(“%d”,choose);
fflush(stdin);
} while(choose!=1 choose!=2 choose!=3);
if(choose==1)
{
takeTest();
}else if(choose==2)
{
FILE *fp;
char ch;
if((fp=fopen(“score.txt”,”rt+”))==NULL)
{
printf(“\n你還沒做過題目測試”);
getch();
exit(1);
}
ch=fgetc(fp);
while(ch!=EOF)
{
putchar(ch);
ch=fgetc(fp);
}
fclose(fp);
}
else
{
exit(0);
}
}
//獲取隨機運算符
char getSignal()
{
char signal[CALC_KIND]={‘+’,’-‘,’*’,’/’};
srand((unsigned)time(NULL));
return signal[rand()%4];
}
//獲取隨機數
int random(double start, double end)
{
return (int)(start+(end-start)*rand()/(RAND_MAX+ 1.0));
}
//運算
int getResult(int num1,int num2,char signal)
{
int res;
switch(signal)
{
case ‘+’:
res=num1+num2;break;
case ‘-‘:
res=num1-num2;break;
case ‘*’:
res=num1*num2;break;
case ‘/’:
res=num1/num2;break;
default:
res=0;
printf(“運算符不符合規則\n”);
}
return res;
}
//列出10道題
void takeTest()
{
printf(“開始答題,每道題10分,總共100分\n”);
clock_t startTime;
startTime=clock();
int index;
int giveRes;
int num1;
int num2;
int score=0;
char signal;
for(index=0;indexCALC_NUM;index++)
{
srand((unsigned)time(NULL));
signal=getSignal();
num1=random(0,100);
num2=random(1,100);
printf(“%d%c%d=”,num1,signal,num2);
scanf(“%d”,giveRes);
fflush(stdin);
if(getResult(num1,num2,signal)==giveRes)
{
printf(“correct\n”);
score+=10;
}
else
{
printf(“wrong\n”);
}
}
FILE *fp=fopen(“score.txt”,”w”);
fprintf(fp,”分數為%d”,score);
fclose(fp);
printf(“解10道題用了%lf秒\n”,(double)(clock()- startTime)/CLOCKS_PER_SEC);
}
//檢測idNo是否合規則,合規則返回true
bool checkNo(char idNo[])
{
int index;
bool flag;
flag=true;
for(index=0;indexIDNO_LENGTH;index++)
{
if(index2)
{
if(!isalpha(idNo[index]))
{
flag=false;
printf(“ID no 不符合規則,重新輸入:”);
break;
}
}
else
{
if(!isdigit(idNo[index]))
{
flag=false;
printf(“ID no 不符合規則,重新輸入:”);
break;
}
}
}
return flag;
}
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/277811.html