用C语言编写运算程序1.docx
《用C语言编写运算程序1.docx》由会员分享,可在线阅读,更多相关《用C语言编写运算程序1.docx(46页珍藏版)》请在冰点文库上搜索。
用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=(aa:b;printf("m=%d\n",m);)第1题:#includevoidmain(){inti=0;intsum=0;for(i=1;i<=5;i++){sum+=i;}printf("sum=%d\n",sum);}第2题:#includevoidmain(){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题:#includevoidmain(){inta;intb;printf("Pleaseinputtwonumber:");scanf("%d%d",&a,&b);printf("a+b=%d\n",a+b);}第5题:#includevoidmain(){inta,b;printf("pleaseinputtwonumber:");scanf("%d%d",&a,&b);printf("较小者:%d\n",aa:b);}第1题:#includevoidmain(){inti=0;intsum=0;for(i=1;i<=5;i++){sum+=i;}printf("sum=%d\n",sum);}第2题:#includevoidmain(){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题:#includevoidmain(){inta;intb;printf("Pleaseinputtwonumber:");scanf("%d%d",&a,&b);printf("a+b=%d\n",a+b);}第5题:#includevoidmain(){inta,b;printf("pleaseinputtwonumber:");scanf("%d%d",&a,&b);printf("较小者:%d\n",aa: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=(aa: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=='%'){
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=(aa:b;printf("m=%d\n",m);)第1题:#includevoidmain(){inti=0;intsum=0;for(i=1;i<=5;i++){sum+=i;}printf("sum=%d\n",sum);}第2题:#includevoidmain(){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题:#includevoidmain(){inta;intb;printf("Pleaseinputtwonumber:");scanf("%d%d",&a,&b);printf("a+b=%d\n",a+b);}第5题:#includevoidmain(){inta,b;printf("pleaseinputtwonumber:");scanf("%d%d",&a,&b);printf("较小者:%d\n",aa:b);}第1题:#includevoidmain(){inti=0;intsum=0;for(i=1;i<=5;i++){sum+=i;}printf("sum=%d\n",sum);}第2题:#includevoidmain(){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题:#includevoidmain(){inta;intb;printf("Pleaseinputtwonumber:");scanf("%d%d",&a,&b);printf("a+b=%d\n",a+b);}第5题:#includevoidmain(){inta,b;printf("pleaseinputtwonumber:");scanf("%d%d",&a,&b);printf("较小者:%d\n",aa: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=(aa: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=='%'){
*((int*)matR+i*col+j)=*((int*)mat1+i*col+j)-*((int*)mat2+i*col+j);
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=(aa:b;printf("m=%d\n",m);)第1题:#includevoidmain(){inti=0;intsum=0;for(i=1;i<=5;i++){sum+=i;}printf("sum=%d\n",sum);}第2题:#includevoidmain(){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题:#includevoidmain(){inta;intb;printf("Pleaseinputtwonumber:");scanf("%d%d",&a,&b);printf("a+b=%d\n",a+b);}第5题:#includevoidmain(){inta,b;printf("pleaseinputtwonumber:");scanf("%d%d",&a,&b);printf("较小者:%d\n",aa:b);}第1题:#includevoidmain(){inti=0;intsum=0;for(i=1;i<=5;i++){sum+=i;}printf("sum=%d\n",sum);}第2题:#includevoidmain(){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题:#includevoidmain(){inta;intb;printf("Pleaseinputtwonumber:");scanf("%d%d",&a,&b);printf("a+b=%d\n",a+b);}第5题:#includevoidmain(){inta,b;printf("pleaseinputtwonumber:");scanf("%d%d",&a,&b);printf("较小者:%d\n",aa: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=(aa: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=='%'){
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=(aa:b;printf("m=%d\n",m);)第1题:#includevoidmain(){inti=0;intsum=0;for(i=1;i<=5;i++){sum+=i;}printf("sum=%d\n",sum);}第2题:#includevoidmain(){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题:#includevoidmain(){inta;intb;printf("Pleaseinputtwonumber:");scanf("%d%d",&a,&b);printf("a+b=%d\n",a+b);}第5题:#includevoidmain(){inta,b;printf("pleaseinputtwonumber:");scanf("%d%d",&a,&b);printf("较小者:%d\n",aa:b);}第1题:#includevoidmain(){inti=0;intsum=0;for(i=1;i<=5;i++){sum+=i;}printf("sum=%d\n",sum);}第2题:#includevoidmain(){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题:#includevoidmain(){inta;intb;printf("Pleaseinputtwonumber:");scanf("%d%d",&a,&b);printf("a+b=%d\n",a+b);}第5题:#includevoidmain(){inta,b;printf("pleaseinputtwonumber:");scanf("%d%d",&a,&b);printf("较小者:%d\n",aa: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=(aa: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=='%'){
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=(aa:b;printf("m=%d\n",m);)第1题:#includevoidmain(){inti=0;intsum=0;for(i=1;i<=5;i++){sum+=i;}printf("sum=%d\n",sum);}第2题:#includevoidmain(){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题:#includevoidmain(){inta;intb;printf("Pleaseinputtwonumber:");scanf("%d%d",&a,&b);printf("a+b=%d\n",a+b);}第5题:#includevoidmain(){inta,b;printf("pleaseinputtwonumber:");scanf("%d%d",&a,&b);printf("较小者:%d\n",aa:b);}第1题:#includevoidmain(){inti=0;intsum=0;for(i=1;i<=5;i++){sum+=i;}printf("sum=%d\n",sum);}第2题:#includevoidmain(){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题:#includevoidmain(){inta;intb;printf("Pleaseinputtwonumber:");scanf("%d%d",&a,&b);printf("a+b=%d\n",a+b);}第5题:#includevoidmain(){inta,b;printf("pleaseinputtwonumber:");scanf("%d%d",&a,&b);printf("较小者:%d\n",aa: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=(aa: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=='%'){
temp1+=*((int*)mat1+i*col1+k)**((int*)mat2+k*col2+j);
*((int*)matR+i*col2+j)=temp1;
编写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题:
{inti,s=1;
s=s*i;
printf("%d",s);
第3题:
{floata,b,t;
printf("Pleaseinputtwonumbers:
\n");
scanf("%f,%f",&a,&b);
t=a;a=b;b=t;
printf("%f,%f\n",a,b);
第4题:
(floata,b,sum;
sum=a+b;
printf("sum=%d\n",sum);
)
第5题:
(floata,b,m;
m=(a
a:
b;
printf("m=%d\n",m);
第1题:
#include
voidmain()
inti=0;
intsum=0;
for(i=1;i<=5;i++)
sum+=i;
第2题:
intn=1;
n*=i;
printf("10的阶乘为:
%d\n",n);
第3题:
方法一
inta=10;
intb=20;
a=a^b;
b=a^b;
printf("交换后:
a=%d,b=%d\n",a,b);
方法二:
inttemp;
temp=a;
a=b;
b=temp;
第4题:
inta;
intb;
printf("Pleaseinputtwonumber:
");
scanf("%d%d",&a,&b);
printf("a+b=%d\n",a+b);
第5题:
inta,b;
printf("pleaseinputtwonumber:
printf("较小者:
%d\n",a
b);
用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键结束程序,否则执行下面的循环*/
=ENTER)/*当压下键不是回车时*/
putimage(x,y,rar,XOR_PUT);/*显示光标图象*/
if(v==RIGHT)/*右移箭头时新位置计算*/
if(x>=x0+6*width)
/*如果右移,移到尾,则移动到最左边字符位置*/
else
x=x+width+width/2;
m++;
}/*否则,右移到下一个字符位置*/
if(v==LEFT)/*左移箭头时新位置计算*/
if(x<=x0)
x=x0+6*width;
m=4;
}/*如果移到头,再左移,则移动到最右边字符位置*/
x=x-width-width/2;
m--;
}/*否则,左移到前一个字符位置*/
if(v==UP)/*上移箭头时新位置计算*/
if(y<=y0)
y=y0+4*height+height/2;
n=3;
}/*如果移到头,再上移,则移动到最下边字符位置*/
y=y-height-height/2;
n--;
}/*否则,移到上边一个字符位置*/
if(v==DOWN)/*下移箭头时新位置计算*/
if(y>=7*height)
}/*如果移到尾,再下移,则移动到最上边字符位置*/
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中*/
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;/*做计算加法标志值*/
outtextxy(5*width,height,"0.");/*显示字符串*/
if(c=='-')
if(strcmp(str2,"")==0)/*如果str2为空,说明是负号,而不是减号*/
flag=-1;/*设置负数标志*/
num1=atof(str2);/*将第二个操作数转换为浮点数*/
act=2;/*做计算减法标志值*/
bar(2*width+width/2,height/2,15*width/2,3*height/2);/*画矩形*/
if(c=='*')
act=3;/*做计算乘法标志值*/
setfillstyle(SOLID_FILL,color+3);bar(2*width+width/2,height/2,15*width/2,3*height/2);
if(c=='/')
act=4;/*做计算除法标志值*/
if(c=='^')
act=5;/*做计算乘方标志值*/
setfillstyle(SOLID_FILL,color+3);/*设置用淡绿色实体填充*/
if(c=='%')
copyright@ 2008-2023 冰点文库 网站版权所有
经营许可证编号:鄂ICP备19020893号-2