您的位置:

c语言数学设计,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;

}