您的位置:

c语言计算方案,c语言计算例子

本文目录一览:

c语言计算:编程

#includestdio.h

void main()

{

int i,j,k,count=1;

for(i=0;i=12;i++)

for(j=0;j=33;j++)

{ k=100-i*8-j*3;

if(i*8+j*3+k==100k0)

printf("第%d种:大货车:%d,重型车:%d,微型车:%d\n",count++,i,j,k);

}

}

C语言 计算24是流行的扑克游戏。 方法,思路也行。

我的代码不长:

#include cmath

#include iostream

#include sstream

#include string

using namespace std;

double a[4]; //操作数

string s[4]; //四个数

void DFS(int step)

{

if (!step)

if (fabs(a[0]-24) 1E-5)

couts[0]'\n';

for (int i=0;i=step;++i)

for (int j=i;++j=step;)

{

double p=a[i],q=a[j];

string tp=s[i],tq=s[j];

a[j]=a[step];s[j]=s[step];

a[i]=p+q;s[i]='('+tp+'+'+tq+')';DFS(step-1);

a[i]=p-q;s[i]='('+tp+'-'+tq+')';DFS(step-1);

a[i]=q-p;s[i]='('+tq+'-'+tp+')';DFS(step-1);

a[i]=p*q;s[i]='('+tp+'*'+tq+')';DFS(step-1);

if (fabs(q)=1E-5)

a[i]=p/q;s[i]='('+tp+'/'+tq+')';DFS(step-1);

if (fabs(p) = 1E-5)

a[i]=q/p;s[i]='('+tq+'/'+tp+')';DFS(step-1);

a[i]=p;a[j]=q;

s[i]=tp;s[j]=tq;

}

}

int main()

{

char str[2];

cins[0]s[1]s[2]s[3];

a[0]=atof(s[0].c_str());

a[1]=atof(s[1].c_str());

a[2]=atof(s[2].c_str());

a[3]=atof(s[3].c_str());

DFS(3);

}

经测试可以运行。

C语言程序设计方案!!二维数组应用 矩阵算法 求高人

#include

stdio.h

void

input_data(int

*l,int

*r,int

data[100][100])

{

int

i,j,k;

printf("输入矩阵行数:");

scanf("%d",l);

printf("输入矩阵列数:");

scanf("%d",r);

printf("按行输入数据,数据间用空格间隔:\n");

for(i=0;i*l;i++)

for(j=0;j*r;j++)

scanf("%d",data[i][j]);

}

int

add_subtra(int

m1[100][100],int

l1,int

r1,

int

m2[100][100],int

l2,int

r2,char

m,int

rm[100][100])

{

int

i,j;

if(l1!=l2

||

r1!=r2)

{

printf("矩阵数据错误1.\n");

return;

}

if(m=='+')

for(i=0;il1;i++)

for(j=0;jr1;j++)

rm[i][j]=m1[i][j]+m2[i][j];

else

for(i=0;il1;i++)

for(j=0;jr1;j++)

rm[i][j]=m1[i][j]-m2[i][j];

}

int

mul(int

m1[100][100],int

l1,int

r1,

int

m2[100][100],int

l2,int

r2,int

m[100][100])

{

int

i,j,k;

if(l1!=r2

)

{

printf("矩阵数据错误2.\n");

return;

}

for(i=0;il1;i++)

for(j=0;jr2;j++)

{

m[i][j]=0;

for(k=0;kr1;k++)

m[i][j]+=m1[i][k]*m2[k][j];

}

}

int

output(int

m[100][100],int

l,int

r)

{

int

i,j;

for(i=0;il;i++)

{

for(j=0;jr;j++)

printf("%3d

",m[i][j]);

printf("\n");

}

}

int

main()

{

int

d1[100][100],d2[100][100],d[100][100];

int

l1,r1,l2,r2;

int

i,j,k;

char

mark[2];

printf("输入第一个矩阵数据:\n");

input_data(l1,r1,d1);

printf("输入的第一个矩阵:\n");

output(d1,l1,r1);

printf("输入第二个矩阵数据:\n");

input_data(l2,r2,d2);

printf("输入的第二个矩阵:\n");

output(d2,l2,r2);

printf("指定运算符(+/-/*):");

scanf("%s",mark);

while(mark[0]!='+'

mark[0]!='-'

mark[0]!='*')

{

printf("符号错误请重新输入(+/-/*):");

scanf("%s",mark);

}

switch(mark[0])

{

case

'+':

case

'-':

add_subtra(d1,l1,r1,d2,l2,r2,mark[0],d);

break;

case

'*':

mul(d1,l1,r1,d2,l2,r2,d);

break;

}

//output(d1,l1,r1);

//output(d2,l2,r2);

printf("运算:%c,计算结果为:\n",mark[0]);

output(d,l1,r2);

system("pause");

}

两个运算矩阵可以是大小不同的,

输出结果由被乘数矩阵的行和乘数矩阵的列决定,

你要求的输出格式比较烦,没时间不够啦!有时间再玩吧。