问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

求编写一道大一大二水平的C语言程序1

发布网友 发布时间:2023-10-23 19:27

我来回答

4个回答

热心网友 时间:2024-08-29 20:48

对于大一、大二来说恐怕还是有些难度的了吧,没怎么动过手的怕是写不出来。

热心网友 时间:2024-08-29 20:48

其实,这个程序写起来没难度,关键要自己动手去写。
不要碰到问题就直接发出来要答案。
要学会自己去思考
谢谢

热心网友 时间:2024-08-29 20:49

#include <stdio.h>
#include <stdlib.h>
void enter(double **a,int *prow_a,int *pcol_a,double **b,int *prow_b,int *pcol_b);
void add(double *a,int row_a,int col_a,double *b,int row_b,int col_b);
void sub(double *a,int row_a,int col_a,double *b,int row_b,int col_b);
void multi(double *a,int row_a,int col_a,double *b,int row_b,int col_b);
void trans(double *a,int row_a,int col_a);
void dete(double *a,int row_a,int col_a);
int main()
{
double *a=NULL,*b=NULL;
int row_a,col_a,row_b,col_b,choice,flag=1;
while(flag)
{
printf(
"1 - Enter matrices A & B\n"
"2 - Add matrices\n"
"3 - Substract matrices\n"
"4 - Multiply matrices\n"
"5 - Transpose of A\n"
"6 - Determinant of A\n"
"7 - Quit program\n"
);
printf("Option: ");
fflush(stdin);
scanf("%d",&choice);
switch(choice)
{
case 1:{enter(&a,&row_a,&col_a,&b,&row_b,&col_b);break;}
case 2:{add(a,row_a,col_a,b,row_b,col_b);break;}
case 3:{sub(a,row_a,col_a,b,row_b,col_b);break;}
case 4:{multi(a,row_a,col_a,b,row_b,col_b);break;}
case 5:{trans(a,row_a,col_a);break;}
case 6:{dete(a,row_a,col_a);break;}
case 7:{free(a);free(b);a=NULL;b=NULL;flag=0;break;}
default:break;
}
}
return 0;
}
void enter(double **a,int *prow_a,int *pcol_a,double **b,int *prow_b,int *pcol_b)
{
int i;
if(*a)
{
free(*a);
*a=NULL;
}
if(*b)
{
free(*b);
*b=NULL;
}
printf("Number of rows in A: ");
scanf("%d",prow_a);
printf("Number of columns in A: ");
scanf("%d",pcol_a);
if(*prow_a>0&&*pcol_a>0)
{
*a=(double *)malloc(sizeof(double)*(*prow_a)*(*pcol_a));
printf("Enter matrix data:\n");
for(i=0;i<(*prow_a)*(*pcol_a);++i)
{
scanf("%lf",&(*a)[i]);
}
}
printf("Number of rows in B: ");
scanf("%d",prow_b);
printf("Number of columns in B: ");
scanf("%d",pcol_b);
if(*prow_b>0&&*pcol_b>0)
{
*b=(double *)malloc(sizeof(double)*(*prow_b)*(*pcol_b));
printf("Enter matrix data:\n");
for(i=0;i<(*prow_b)*(*pcol_b);++i)
{
scanf("%lf",&(*b)[i]);
}
}
}
void add(double *a,int row_a,int col_a,double *b,int row_b,int col_b)
{
int i,j;
if(a!=NULL&&b!=NULL)
{
if(row_a==row_b&&col_a==col_b)
{
printf("A + B =\n");
for(i=0;i<row_a;++i)
{
for(j=0;j<col_a;++j)
{
printf("%5g",a[i*col_a+j]+b[i*col_b+j]);
}
printf("\n");
}
}
else
{
printf("error\n");
}
}
else
{
printf("error\n");
}
}
void sub(double *a,int row_a,int col_a,double *b,int row_b,int col_b)
{
int i,j;
if(a!=NULL&&b!=NULL)
{
if(row_a==row_b&&col_a==col_b)
{
printf("A - B =\n");
for(i=0;i<row_a;++i)
{
for(j=0;j<col_a;++j)
{
printf("%5g",a[i*col_a+j]-b[i*col_b+j]);
}
printf("\n");
}
}
else
{
printf("error\n");
}
}
else
{
printf("error\n");
}
}
void multi(double *a,int row_a,int col_a,double *b,int row_b,int col_b)
{
int i,j,k;
double t;
if(a!=NULL&&b!=NULL)
{
if(col_a==row_b)
{
printf("A * B =\n");
for(i=0;i<row_a;++i)
{
for(j=0;j<col_b;++j)
{
for(t=k=0;k<col_a;++k)
{
t+=a[i*col_a+k]*b[k*col_b+j];
}
printf("%5g",t);
}
printf("\n");
}
}
else
{
printf("error\n");
}
}
else
{
printf("error\n");
}
}
void trans(double *a,int row_a,int col_a)
{
int i,j;
if(a!=NULL)
{
if(col_a==row_a)//你的要求和图片不一致啊!!!
{
printf("Transpose of A =\n");
for(i=0;i<col_a;++i)
{
for(j=0;j<row_a;++j)
{
printf("%5g",a[j*col_a+i]);
}
printf("\n");
}
}
else
{
printf("error\n");
}
}
else
{
printf("error\n");
}
}
void dete(double *a,int row_a,int col_a)
{
if(a!=NULL)
{
if(col_a==row_a)
{
;
//好吧,线性代数什么的已经几年没碰了,行列式什么的早忘了
//现在平时都用不上4阶行列式的,求解的通法早忘了,只记得4阶以下的解法了
//等我回忆一下,有空再写给你
}
else
{
printf("Determination of A isinvalid for a %d x %d matrix\n",row_a,col_a);
}
}
else
{
printf("error\n");
}
}

热心网友 时间:2024-08-29 20:49

#include<stdio.h>
void main()
{ float ma[500][500],mb[500][500];
int rowa,cola,rowb,colb;
int i,j;
int option;
printf(" 1 - Enter matrices A & B\n");
printf(" 2 - Add matrices\n");
printf(" 3 - Subtract matrices\n");
printf(" 4 - Multiply matrices\n");
printf(" 5 - Transpose of A\n");
printf(" 6 - Deteminant of A\n");
printf(" 7 - Quit program\n");
printf("\nOption:");
scanf("%d",&option);
while(option!=7)
{
switch(option)
{
case 1:
{
//mA
printf("Number of rows in A:");
scanf("%d",&rowa);
printf("Number of colnums in A:");
scanf("%d",&cola);
printf("Enter matrix data:\n");
for(i=0;i<rowa;i++)
for(j=0;j<cola;j++)
scanf("%f",&ma[i][j]);
//mB
printf("Number of rows in B:");
scanf("%d",&rowb);
printf("Number of colnums in B:");
scanf("%d",&colb);
printf("Enter matrix data:\n");
for(i=0;i<rowb;i++)
for(j=0;j<colb;j++)
scanf("%f",&mb[i][j]);
goto again;
}

case 2:
{
if((rowa!=rowb)||(cola!=colb)) {puts("Error!");goto END;}
//ADD
printf("A + B =\n");
for(i=0;i<rowb;i++)
{ printf("\t");
for(j=0;j<colb;j++)
printf("%g ",ma[i][j]+mb[i][j]);
putchar('\n');
}
goto again;
}

case 3:
{
if((rowa!=rowb)||(cola!=colb)) {puts("Error!");goto END;}
//SUB
printf("A - B =\n");
for(i=0;i<rowb;i++)
{ printf("\t");
for(j=0;j<colb;j++)
printf("%g ",ma[i][j]-mb[i][j]);
putchar('\n');
}
goto again;
}

case 4:
{
if((rowa!=rowb)||(cola!=colb)) {puts("Error!");goto END;}
//SUB
printf("A * B =\n");
for(i=0;i<rowb;i++)
{ printf("\t");
for(j=0;j<colb;j++)
printf("%g ",ma[i][j]*mb[i][j]);
putchar('\n');
}
goto again;
}
case 5:
{ //Transpose of A
printf("Transpose of A=\n");
for(j=0;j<cola;j++)
{
printf("\t\t");
for(i=0;i<rowa;i++)
printf("%g ",ma[i][j]);
putchar('\n');
}
goto again;
}
case 6:
{
printf("Determinant of A is invalid for a %d x %d matrix\n",rowa,cola);
goto again;
}
case 7: goto END;
}
again:
printf("\nOption:");
scanf("%d",&option);
}
END:if(0);
}
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
火影忍者手游怎么都有蛤蟆仙人了 我只是忘了忘记你图书目录 我只是忘了忘记你作者简介 我只是忘了忘记你内容简介 对《我只是忘了忘记你》进行评价! 多肉有什么作用和功效 多肉的好处 多肉植物的好处和坏处没毒的多肉植物有哪些 大学生创业哪些要素最关键优秀团队和心理素质 大学生创业的关键要素 沈阳市于洪区沙岭镇去道义开发区做什么车 我是刚大二计算机专业的学生,想学习C语言开发,请问如何入手啊... 我还在大二,学过C语言基础 想学单片机 还要什么基础呢 有没有现在大一 或者大二的 对c语言和程序感兴趣的 ?? 长沙银行卡在香港取钱要手续费吗?取100元收多少手续费? 我是学软件工程的,大一学c语言,大二大三学什么呢?谢谢大家!1 大二的C语言要学什么?1 本科时大二计算机还学c语言吗3 奥迪q3按下转向键后不停报警,怎么回事? CN201597424U 这个专利真的可以找到吗?3 限时被封了,又用该手机号重新注册一个,能找回以前的... 国内第四大运营商中国广电成立,会对三巨头和消费者产生怎样的影响... 羊毛大衣写着不可干洗分开水洗是什么意思1 含羊毛的大衣自己怎么洗1501 对方qq空间的亲密度是取决于我关注他还是他关注我? 飞字几笔?19 传奇世界的分身修炼体魄的好处和办法 飞字有几笔?分别是?4 一个人能注册几个呢? 一人可以注册多少个? iPhone XS Max搬板 学手机维修技术 苹果手机搬板 中国内地银行卡在澳门可以取款么?手续费怎么算? 微信交易记录怎么能一次性全部删除?558 羊毛大衣自己在家怎么洗?624 羊绒大衣可以水洗吗363 身份证上的照片能复印吗? 三星scx-4321怎样设置复印身份证9 手动火灾报警按钮按了之后,喇叭一直响,怎么把它关掉。求懂这行...3 限时被封了,又用该手机号重新注册一个,能找回以前的... 奥迪q3中音喇叭不会响,奥迪q3扬声器怎么拆阿?? 限时被封了,又用该手机号重新注册一个,能找回以前的... ...又用手机号重新注册了一个微信,还能找回以前的吗?_百度知 ... 我想问QQ空间里的亲密度,是怎么算出来的?526 QQ空间亲密度最高值是多少75 中国有哪些著名的外企129 单项好友qq空间亲密度86,那我们算是什么关系,14 微信支付通知怎么删除1 微信交易记录如何一次性删除293 五味子的采收和加工要注意什么问题? 一个身份证可以注册几个呢? cn103610852a这个专利是真的吗?6