所在位置:主页 > 程序语言 > 用C语言来编个程序

用C语言来编个程序

发布时间:2024-01-14 09:37来源:www.sf1369.com作者:宇宇

一、用C语言来编个程序

#include<stdio.h>

void main()

{

float a,b,m,n,p,q;

scanf(%f,%f,&a,&b);

m=a+b;n=a-b;p=a*b;q=a/b;

printf(%.4f,%.4f,%.4f,%.4f,m,n,p,q);

}

就这样。。。不明白的话。。可以问我。。

二、一个 C语言程序的实现

我写了一个,你参考一下吧,本人亲测无误

#include <stdio.h>

int f(int m,int k)

{

int sum=0,i;

if(m<k-1)

  return 0;

else if(m==k-1)

  return 1;

else

  for(i=k;i>=1;--i)

   sum+=f(m-i,k);

  return sum;

}

int main()

{

int m,k,a;

scanf(%d%d,&m,&k);

a=f(m,k);

printf(%d\n,a);

    return 0;

}

其实这只是普通斐波那契的一个扩充,这个程序并不是最优的,因为递归过程中有些项的值要重复计算,时间消耗较大,可以采用存储已计算过的的项到一个表里,每次计算前先查表的方法避免重复计算。这属于以空间换时间,改进就留给你吧,递归部分大体就是我写的这个样子了

三、用C语言编程实现~~急

#include stdio.h

#include stdlib.h

#define M 3

#define N 3

//指针数组

int a[M][N];

int b[M][N];

int c[M][N];

void matrixMul(int b[][M],int c[][N]);

void matrixAdd(int b[][N],int c[][N]);

void matrixSub(int b[][N],int c[][N]);

int main()

{

int i,j,temp=0;

printf(Please input int matrix b[%d][%d]\

,M,N);

for(i=0;i<N;i++)

for(j=0;j<N;j++)

{

scanf(%d,&temp);

b[i][j]=temp;

}

printf(Please input int matrix c[%d][%d]\

,M,N);

for(i=0;i<M;i++)

{

for(j=0;j<N;j++)

{

scanf(%d,&temp);

c[i][j]=temp;

}

}

//输出原矩阵

printf(Now print resource matrix b[%d][%d]=,M,N);

for(i=0;i<M;i++){

printf(\

);

for(j=0;j<N;j++)

printf(%d ,b[i][j]);

}

printf(\

);

printf(Now print resource matrix c[%d][%d]=,M,N);

for(i=0;i<M;i++){

printf(\

);

for(j=0;j<N;j++)

printf(%d ,c[i][j]);

}

if (M == N)

{

matrixMul(b,c); //调用矩阵相乘

//输出矩阵相乘结果

printf(\

);

printf(Now printm matrixMul results matrix a[%d][%d]=B*C:,M,N);

for(i=0;i<M;i++)

{

printf(\

);

for(j=0;j<N;j++)

printf(%d ,a[i][j]);

}

}

else

{

printf(matrix Error,check and try again!!! );

}

//输出矩阵相加结果

matrixAdd(b,c);

printf(\

);

printf(Now printm matrixAdd results matrix a[%d][%d]=B+C:,M,N);

for(i=0;i<M;i++)

{

printf(\

);

for(j=0;j<N;j++)

printf(%d ,a[i][j]);

}

//输出矩阵相减结果

matrixSub(b,c);

printf(\

);

printf(Now printm matrixSub results matrix a[%d][%d]=B-C:,M,N);

for(i=0;i<M;i++)

{

printf(\

);

for(j=0;j<N;j++)

printf(%d ,a[i][j]);

}

return 0;

}

void matrixMul(int b[][M],int c[][N])

{

int i,j,k;

for(i=0;i<M;i++)

for(j=0;j<N;j++)

{

for(k=0;k<N;k++)

a[i][j]+=b[i][k]*c[k][j];

}

}

void matrixAdd(int b[][M],int c[][N])

{

int i,j;

for(i=0;i<M;i++)

{

for(j=0;j<N;j++)

{

a[i][j]=b[i][j]+c[i][j];

}

}

}

void matrixSub(int b[][M],int c[][N])

{

int i,j;

for(i=0;i<M;i++)

{

for(j=0;j<N;j++)

{

a[i][j]=b[i][j]-c[i][j];

}

}

}

我大概看了下,加减乘都能实现

网上资料