用C语言编写运算程序1.docx

上传人:b****1 文档编号:13563261 上传时间:2023-06-15 格式:DOCX 页数:46 大小:35.36KB
下载 相关 举报
用C语言编写运算程序1.docx_第1页
第1页 / 共46页
用C语言编写运算程序1.docx_第2页
第2页 / 共46页
用C语言编写运算程序1.docx_第3页
第3页 / 共46页
用C语言编写运算程序1.docx_第4页
第4页 / 共46页
用C语言编写运算程序1.docx_第5页
第5页 / 共46页
用C语言编写运算程序1.docx_第6页
第6页 / 共46页
用C语言编写运算程序1.docx_第7页
第7页 / 共46页
用C语言编写运算程序1.docx_第8页
第8页 / 共46页
用C语言编写运算程序1.docx_第9页
第9页 / 共46页
用C语言编写运算程序1.docx_第10页
第10页 / 共46页
用C语言编写运算程序1.docx_第11页
第11页 / 共46页
用C语言编写运算程序1.docx_第12页
第12页 / 共46页
用C语言编写运算程序1.docx_第13页
第13页 / 共46页
用C语言编写运算程序1.docx_第14页
第14页 / 共46页
用C语言编写运算程序1.docx_第15页
第15页 / 共46页
用C语言编写运算程序1.docx_第16页
第16页 / 共46页
用C语言编写运算程序1.docx_第17页
第17页 / 共46页
用C语言编写运算程序1.docx_第18页
第18页 / 共46页
用C语言编写运算程序1.docx_第19页
第19页 / 共46页
用C语言编写运算程序1.docx_第20页
第20页 / 共46页
亲,该文档总共46页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

用C语言编写运算程序1.docx

《用C语言编写运算程序1.docx》由会员分享,可在线阅读,更多相关《用C语言编写运算程序1.docx(46页珍藏版)》请在冰点文库上搜索。

用C语言编写运算程序1.docx

用C语言编写运算程序1

编写矩阵运算程序(C语言编写)

浏览次数:

138次悬赏分:

0|解决时间:

2011-7-418:

25|提问者:

zhuxiaoxu1987

a)功能包括:

矩阵加、矩阵减、矩阵乘、矩阵三角化

b)实现方式1:

函数的参数为:

二维数组名、行数、列数

c)实现方式2:

函数的参数为:

指向元素的指针、行数、列数(可选做)

问题补充:

100行左右哦,谢谢

最佳答案

矩阵三角化不知道是什么,其余的看下面代码:

booladdMat(int**mat1,int**mat2,int**matR,introw,intcol)

{

for(inti=0;i

{

for(intj=0;j

{

*((int*)matR+i*col+j)=*((int*)mat1+i*col+j)+*((int*)mat2+i*col+j);

}

}

returntrue;

}

boolsubMat(int**mat1,int**mat2,int**matR,introw,intcol)

{

for(inti=0;i

{

for(intj=0;j

{

*((int*)matR+i*col+j)=*((int*)mat1+i*col+j)-*((int*)mat2+i*col+j);

}

}

returntrue;

}

boolmulMat(int**mat1,introw1,intcol1,int**mat2,introw2,intcol2,int**matR)

{

if(col1!

=row2)

{

returnfalse;

}

inttemp1;

for(inti=0;i

{

for(intj=0;j

{

temp1=0;

for(intk=0;k

{

temp1+=*((int*)mat1+i*col1+k)**((int*)mat2+k*col2+j);

}

*((int*)matR+i*col2+j)=temp1;

}

}

returntrue;

}

编写5道程序用(C语言编写)

1编写程序计算:

计算1+2+3+4+5(利用FOR循环)

2编写程序计算:

计算10的阶乘(用FOR循环)

3编写程序计算:

交换a和b的值

4编写程序计算:

输入a和b,计算两数之和

5编写程序计算:

输入a和B,输入较小着

上面的有错吧,别人说输入的a,b是变量,不是常量。

第1题:

main()

{inti,sum=0;

for(i=1;i<=10;i++)

sum=sum+i;

printf("%d",sum);

}

第2题:

main()

{inti,s=1;

for(i=1;i<=10;i++)

s=s*i;

printf("%d",s);

}

第3题:

main()

{floata,b,t;

printf("Pleaseinputtwonumbers:

\n");

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

t=a;a=b;b=t;

printf("%f,%f\n",a,b);

}

第4题:

main()

(floata,b,sum;

printf("Pleaseinputtwonumbers:

\n");

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

sum=a+b;

printf("sum=%d\n",sum);

第5题:

main()

(floata,b,m;

printf("Pleaseinputtwonumbers:

\n");

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

m=(a

a:

b;

printf("m=%d\n",m);

第1题:

#include

voidmain()

{

inti=0;

intsum=0;

for(i=1;i<=5;i++)

{

sum+=i;

}

printf("sum=%d\n",sum);

}

第2题:

#include

voidmain()

{

inti=0;

intn=1;

for(i=1;i<=10;i++)

{

n*=i;

}

printf("10的阶乘为:

%d\n",n);

}

第3题:

#include

方法一

voidmain()

{

inta=10;

intb=20;

a=a^b;

b=a^b;

a=a^b;

printf("交换后:

a=%d,b=%d\n",a,b);

}

方法二:

voidmain()

{

inta=10;

intb=20;

inttemp;

temp=a;

a=b;

b=temp;

printf("交换后:

a=%d,b=%d\n",a,b);

}

第4题:

#include

voidmain()

{

inta;

intb;

printf("Pleaseinputtwonumber:

");

scanf("%d%d",&a,&b);

printf("a+b=%d\n",a+b);

}

第5题:

#include

voidmain()

{

inta,b;

printf("pleaseinputtwonumber:

");

scanf("%d%d",&a,&b);

printf("较小者:

%d\n",a

a:

b);

}

第1题:

#include

voidmain()

{

inti=0;

intsum=0;

for(i=1;i<=5;i++)

{

sum+=i;

}

printf("sum=%d\n",sum);

}

第2题:

#include

voidmain()

{

inti=0;

intn=1;

for(i=1;i<=10;i++)

{

n*=i;

}

printf("10的阶乘为:

%d\n",n);

}

第3题:

#include

方法一

voidmain()

{

inta=10;

intb=20;

a=a^b;

b=a^b;

a=a^b;

printf("交换后:

a=%d,b=%d\n",a,b);

}

方法二:

voidmain()

{

inta=10;

intb=20;

inttemp;

temp=a;

a=b;

b=temp;

printf("交换后:

a=%d,b=%d\n",a,b);

}

第4题:

#include

voidmain()

{

inta;

intb;

printf("Pleaseinputtwonumber:

");

scanf("%d%d",&a,&b);

printf("a+b=%d\n",a+b);

}

第5题:

#include

voidmain()

{

inta,b;

printf("pleaseinputtwonumber:

");

scanf("%d%d",&a,&b);

printf("较小者:

%d\n",a

a:

b);

main()

{inti,sum=0;

for(i=1;i<=10;i++)

sum=sum+i;

printf("%d",sum);

}

第2题:

main()

{inti,s=1;

for(i=1;i<=10;i++)

s=s*i;

printf("%d",s);

}

第3题:

main()

{floata,b,t;

printf("Pleaseinputtwonumbers:

\n");

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

t=a;a=b;b=t;

printf("%f,%f\n",a,b);

}

第4题:

main()

(floata,b,sum;

printf("Pleaseinputtwonumbers:

\n");

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

sum=a+b;

printf("sum=%d\n",sum);

第5题:

main()

(floata,b,m;

printf("Pleaseinputtwonumbers:

\n");

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

m=(a

a:

b;

printf("m=%d\n",m);

 

用C简单编写计算器源代码

#include/*DOS接口函数*/

#include/*数学函数的定义*/

#include/*屏幕操作函数*/

#include/*I/O函数*/

#include/*库函数*/

#include/*变量长度参数表*/

#include/*图形函数*/

#include/*字符串函数*/

#include/*字符操作函数*/

#defineUP0x48/*光标上移键*/

#defineDOWN0x50/*光标下移键*/

#defineLEFT0x4b/*光标左移键*/

#defineRIGHT0x4d/*光标右移键*/

#defineENTER0x0d/*回车键*/

void*rar;/*全局变量,保存光标图象*/

structpalettetypepalette;/*使用调色板信息*/

intGraphDriver;/*图形设备驱动*/

intGraphMode;/*图形模式值*/

intErrorCode;/*错误代码*/

intMaxColors;/*可用颜色的最大数值*/

intMaxX,MaxY;/*屏幕的最大分辨率*/

doubleAspectRatio;/*屏幕的像素比*/

voiddrawboder(void);/*画边框函数*/

voidinitialize(void);/*初始化函数*/

voidcomputer(void);/*计算器计算函数*/

voidchangetextstyle(intfont,intdirection,intcharsize);/*改变文本样式函数*/

voidmwindow(char*header);/*窗口函数*/

intspecialkey(void);/*获取特殊键函数*/

intarrow();/*设置箭头光标函数*/

/*主函数*/

intmain()

{

initialize();/*设置系统进入图形模式*/

computer();/*运行计算器*/

closegraph();/*系统关闭图形模式返回文本模式*/

return(0);/*结束程序*/

}

/*设置系统进入图形模式*/

voidinitialize(void)

{

intxasp,yasp;/*用于读x和y方向纵横比*/

GraphDriver=DETECT;/*自动检测显示器*/

initgraph(&GraphDriver,&GraphMode,"");

/*初始化图形系统*/

ErrorCode=graphresult();/*读初始化结果*/

if(ErrorCode!

=grOk)/*如果初始化时出现错误*/

{

printf("GraphicsSystemError:

%s\n",

grapherrormsg(ErrorCode));/*显示错误代码*/

exit

(1);/*退出*/

}

getpalette(&palette);/*读面板信息*/

MaxColors=getmaxcolor()+1;/*读取颜色的最大值*/

MaxX=getmaxx();/*读屏幕尺寸*/

MaxY=getmaxy();/*读屏幕尺寸*/

getaspectratio(&xasp,&yasp);/*拷贝纵横比到变量中*/

AspectRatio=(double)xasp/(double)yasp;/*计算纵横比值*/

}

/*计算器函数*/

voidcomputer(void)

{

structviewporttypevp;/*定义视口类型变量*/

intcolor,height,width;

intx,y,x0,y0,i,j,v,m,n,act,flag=1;

floatnum1=0,num2=0,result;/*操作数和计算结果变量*/

charcnum[5],str2[20]={""},c,temp[20]={""};

charstr1[]="1230.456+-789*/Qc=^%";/*定义字符串在按钮图形上显示的符号*/

mwindow("Calculator");/*显示主窗口*/

color=7;/*设置灰颜色值*/

getviewsettings(&vp);/*读取当前窗口的大小*/

width=(vp.right+1)/10;/*设置按钮宽度*/

height=(vp.bottom-10)/10;/*设置按钮高度*/

x=width/2;/*设置x的坐标值*/

y=height/2;/*设置y的坐标值*/

setfillstyle(SOLID_FILL,color+3);

bar(x+width*2,y,x+7*width,y+height);

/*画一个二维矩形条显示运算数和结果*/

setcolor(color+3);/*设置淡绿颜色边框线*/

rectangle(x+width*2,y,x+7*width,y+height);

/*画一个矩形边框线*/

setcolor(RED);/*设置颜色为红色*/

outtextxy(x+3*width,y+height/2,"0.");/*输出字符串"0."*/

x=2*width-width/2;/*设置x的坐标值*/

y=2*height+height/2;/*设置y的坐标值*/

for(j=0;j<4;++j)/*画按钮*/

{

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

{

setfillstyle(SOLID_FILL,color);

setcolor(RED);

bar(x,y,x+width,y+height);/*画一个矩形条*/

rectangle(x,y,x+width,y+height);

sprintf(str2,"%c",str1[j*5+i]);

/*将字符保存到str2中*/

outtextxy(x+(width/2),y+height/2,str2);

x=x+width+(width/2);/*移动列坐标*/

}

y+=(height/2)*3;/*移动行坐标*/

x=2*width-width/2;/*复位列坐标*/

}

x0=2*width;

y0=3*height;

x=x0;

y=y0;

gotoxy(x,y);/*移动光标到x,y位置*/

arrow();/*显示光标*/

putimage(x,y,rar,XOR_PUT);

m=0;

n=0;

strcpy(str2,"");/*设置str2为空串*/

while((v=specialkey())!

=45)/*当压下Alt+x键结束程序,否则执行下面的循环*/

{

while((v=specialkey())!

=ENTER)/*当压下键不是回车时*/

{

putimage(x,y,rar,XOR_PUT);/*显示光标图象*/

if(v==RIGHT)/*右移箭头时新位置计算*/

if(x>=x0+6*width)

/*如果右移,移到尾,则移动到最左边字符位置*/

{

x=x0;

m=0;

}

else

{

x=x+width+width/2;

m++;

}/*否则,右移到下一个字符位置*/

if(v==LEFT)/*左移箭头时新位置计算*/

if(x<=x0)

{

x=x0+6*width;

m=4;

}/*如果移到头,再左移,则移动到最右边字符位置*/

else

{

x=x-width-width/2;

m--;

}/*否则,左移到前一个字符位置*/

if(v==UP)/*上移箭头时新位置计算*/

if(y<=y0)

{

y=y0+4*height+height/2;

n=3;

}/*如果移到头,再上移,则移动到最下边字符位置*/

else

{

y=y-height-height/2;

n--;

}/*否则,移到上边一个字符位置*/

if(v==DOWN)/*下移箭头时新位置计算*/

if(y>=7*height)

{

y=y0;

n=0;

}/*如果移到尾,再下移,则移动到最上边字符位置*/

else

{

y=y+height+height/2;

n++;

}/*否则,移到下边一个字符位置*/

putimage(x,y,rar,XOR_PUT);/*在新的位置显示光标箭头*/

}

c=str1[n*5+m];/*将字符保存到变量c中*/

if(isdigit(c)||c=='.')/*判断是否是数字或小数点*/

{

if(flag==-1)/*如果标志为-1,表明为负数*/

{

strcpy(str2,"-");/*将负号连接到字符串中*/

flag=1;

}/*将标志值恢复为1*/

sprintf(temp,"%c",c);/*将字符保存到字符串变量temp中*/

strcat(str2,temp);/*将temp中的字符串连接到str2中*/

setfillstyle(SOLID_FILL,color+3);

bar(2*width+width/2,height/2,15*width/2,3*height/2);

outtextxy(5*width,height,str2);/*显示字符串*/

}

if(c=='+')

{

num1=atof(str2);/*将第一个操作数转换为浮点数*/

strcpy(str2,"");/*将str2清空*/

act=1;/*做计算加法标志值*/

setfillstyle(SOLID_FILL,color+3);

bar(2*width+width/2,height/2,15*width/2,3*height/2);

outtextxy(5*width,height,"0.");/*显示字符串*/

}

if(c=='-')

{

if(strcmp(str2,"")==0)/*如果str2为空,说明是负号,而不是减号*/

flag=-1;/*设置负数标志*/

else

{

num1=atof(str2);/*将第二个操作数转换为浮点数*/

strcpy(str2,"");/*将str2清空*/

act=2;/*做计算减法标志值*/

setfillstyle(SOLID_FILL,color+3);

bar(2*width+width/2,height/2,15*width/2,3*height/2);/*画矩形*/

outtextxy(5*width,height,"0.");/*显示字符串*/

}

}

if(c=='*')

{

num1=atof(str2);/*将第二个操作数转换为浮点数*/

strcpy(str2,"");/*将str2清空*/

act=3;/*做计算乘法标志值*/

setfillstyle(SOLID_FILL,color+3);bar(2*width+width/2,height/2,15*width/2,3*height/2);

outtextxy(5*width,height,"0.");/*显示字符串*/

}

if(c=='/')

{

num1=atof(str2);/*将第二个操作数转换为浮点数*/

strcpy(str2,"");/*将str2清空*/

act=4;/*做计算除法标志值*/

setfillstyle(SOLID_FILL,color+3);

bar(2*width+width/2,height/2,15*width/2,3*height/2);

outtextxy(5*width,height,"0.");/*显示字符串*/

}

if(c=='^')

{

num1=atof(str2);/*将第二个操作数转换为浮点数*/

strcpy(str2,"");/*将str2清空*/

act=5;/*做计算乘方标志值*/

setfillstyle(SOLID_FILL,color+3);/*设置用淡绿色实体填充*/

bar(2*width+width/2,height/2,15*width/2,3*height/2);/*画矩形*/

outtextxy(5*width,height,"0.");/*显示字符串*/

}

if(c=='%')

{

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > PPT模板 > 动态背景

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2