#include "stdio.h"
#include "conio.h"
char copy=0;/*copy计入按下+-*/前的c值*/
long play,j=1;/*play运算类型的判断 j值的位数*/
long float c=0;/*读取键盘的数字*/
void shu()/*刷新屏幕*/
{gotoxy(20,20);
printf("%lf",c);
}
void reout(play)/*处理运算结果*/
{switch (play)
{case 1:
clrscr();
c=(c*j+copy);
gotoxy(20,20);
printf("%lf",c);
break;
case 2:
clrscr();
c=copy-c*j;
gotoxy(20,20);
printf("%f",c);
break;
case 3:
clrscr();
c=copy*c*j;
gotoxy(20,20);
printf("%f",c);
break;
case 4:
clrscr();
c=copy/(c*j);
gotoxy(20,20);
printf("%f",c);
break;
}
}
main()
{char key;/*判断按键的变量*/
clrscr();
gotoxy(20,20);
printf("%lf",c);
while(1)
{
while(bioskey(1)==1);
key=bioskey(0);
switch (key)
{
case '1':
if(c!=0)/*屏幕显示不是0时*/
{
j*=10;/*增加位数*/
c*=j;
c+=1;/*个位数加*/
shu();/*刷新屏幕*/
c=c/j;
}
if(c==0)
{
c=1;
shu();
}
break;
case '2':
if(c!=0)
{
j*=10;
c*=j;
c+=2;
shu();
c=c/j;
}
if(c==0)
{
c=2;
shu();
}
break;
case '3':
if(c!=0)
{
j*=10;
c*=j;
c+=3;
shu();
c=c/j;
}
if(c==0)
{
c=3;
shu();
}
break;
case '4':
if(c!=0)
{
j*=10;
c*=j;
c+=4;
shu();
c=c/j;
}
if(c==0)
{
c=4;
shu();
}
break;
case '5':
if(c!=0)
{
j*=10;
c*=j;
c+=5;
shu();
c=c/j;
}
if(c==0)
{
c=5;
shu();
}
break;
case '6':
if(c!=0)
{
j*=10;
c*=j;
c+=6;
shu();
c=c/j;
}
if(c==0)
{
c=6;
shu();
}
break;
case '7':
if(c!=0)
{
j*=10;
c*=j;
c+=7;
shu();
c=c/j;
}
if(c==0)
{
c=7;
shu();
}
break;
case '8':
if(c!=0)
{
j*=10;
c*=j;
c+=8;
shu();
c=c/j;
}
if(c==0)
{
c=8;
shu();
}
break;
case '9':
if(c!=0)
{
j*=10;
c*=j;
c+=9;
shu();
c=c/j;
}
if(c==0)
{
c=9;
shu();
}
break;
case '0':
if(c!=0)
{
j*=10;
c*=j;
c+=0;
shu();
c=c/j;
}
if(c==0)
{
c=0;
shu();
}
break;
case 'q':
exit(0);
break;
case 'r':/*加法运算*/
play=1;
copy=(c*j);/*记录此时屏幕的值*/
clrscr();/*清空屏幕*/
j=1;/*位数*/
c=0;/*屏幕显示为0*/
shu();/*刷新屏幕,重新输出*/
break;
case 't':/*减法运算*/
play=2;
copy=(c*j);
clrscr();
j=1;
c=0;
shu();
break;
case 'y':/*乘法运算*/
play=3;
copy=(c*j);
clrscr();
j=1;
c=0;
shu();
break;
case 'u':/*除法运算*/
play=4;
copy=(c*j);
c=0;
j=1;
clrscr();
shu();
break;
case 'e':/*等于*/
reout(play);
break;
case 'f':
clrscr();
c=0;
shu();
j=0;
break;
}
}
}
谢啦,但是我还是想弄明白,我写的哪里错了,能不能麻烦你点时间帮我看下。。谢啦!能不能告诉我你的QQ。。
嗯,谢谢,你能不能在帮我看下,我变量都跟踪了看过,但检查不出哪里错了,测试时有些计算正确有些计算错误,纠结啊!还有你说的long float c与if(C!=0)有什么关系吗?不理解。。
C语言。帮我看看,笑脸返回时,出现问题了
int x=1,y=1,xy=1;void gotoxy(int x,int y){ COORD c;c.X=x-1;c.Y=y-1;SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),c);} main(){ while(1){ gotoxy(x+1,y);printf(" ");if(x>5) xy=-1;if(x<1)xy=1;x=x+xy;printf("%c",2);Sleep(1000);} } ...
为什么每个月的天数不一样?
7、8、9月连续三个月都是大月,看起来很不顺眼,使用也不方便, 就把9月改为30天,10月为31天,11月为30天,12月为31天。这样,大小月相间的规律破坏了,一直到两千年后的今天还受到影响。奥古斯都修改过的历法格式与现行公历一模一样了,但它的纪元,即计算年代的起算点还不是公元元年,它的闰年方法与现行公历还不...
我想问一个很不可思议的问题:我看时间的时候老是不经意的遇到重复的数字...
无尽的巧合,会让人感到恐慌,别在意了,世界巧合之事多了去了,或许下个站点你会遇到我,而我穿了44码的鞋,33的腰一样。如果你不留意它就没发生,在意了,巧合无处不在
学习C语言需要掌握哪些基本知识?
因为系统会根据数组中元素的总个数来分配空间,当知道元素总个数以及列的维数后,会直接计算出行的维数; 采用第二种初始化时数组声明必须同时指定行和列的维数。 18.多维度数组的遍历 使用嵌套循环 注意:多维数组的每一维下标均不能越界! 19.结构体 C 数组允许定义可存储相同类型数据项的变量,结构是 C 编程中另...
我没有装过系统,想学一下,请教有经验的高手
1、找一张带光盘启动的WIN98 或WIN ME或WIN 2000的光盘,然后在准备一张XP的安装盘!2、现在电脑里下载好冲击波和震荡波病毒的免疫补丁,并保存在除C区外的分区里,比如D E都可以 3、重启电脑,插入WIN98光盘(以WIN98盘为例子,其他一个道理),当电脑重启后,一直狂点DEL键,进如BIOS,选择“...
一个关于折半插入排序的程序(C语言)出现问题了!?请帮忙改一下可以吗...
我仔细看了下 你的写法错的地方不是一点点 你的思想是要用折半方法在前面的序列里找到一个值小于新的数将这个数插入在找到值之后 所以才有 for(j=i-1;j>=high+1;j--)a[j+1]=a[j];a[high+1]=a[i];但是你必须有一个位置做为标量 将新的数放在这个标量里 比如新的数a[i] 用a[0...
我这有C语言的题,哪位大侠能解决一下,必有重谢!
C)将文件位置指针从文件末尾处后退20个字节 D)将文件位置指针移到距离当前位置20个字节处 PS:仔细看下fseek函数就可以了。3.在下述程序中,if (i>j) 语句共执行的次数是( )。main(){ int i=0,j=14,k=2,s=0;for(;;){ i+= k ;if(i>j){ printf(“%d”,s);break ;}...
有一个圣诞快乐的程序据说是用C语言写的,我想把它改成生日快乐的,跪求...
21,a);printf("%*.*s\n",57,17,a);printf("%*.*s\n",55,13,a);printf("%*.*s\n",53,9,a);printf("%*.*s\n",51,5,a);printf("%*.*s\n",50,3,a);printf("%*.*s\n",49,1,a);return0;} ...
计算工具的发展过程
1、手动式计算工具 人类最初用手指进行计算。人有两只手,十个手指头,所以,自然而然地习惯用手指记数并采用十进制记数法。用手指进行计算虽然很方便,但计算范围有限,计算结果也无法存储。2、机械式计算工具 17世纪,欧洲出现了利用齿轮技术的计算工具。1642年,法国数学家帕斯卡(Blaise Pascal)发明...
C语言中怎么把上一个函数的值用到下一个函数
程序如下:include <stdio.h> int main(void){ const int iTimes=sizeof(int) * 8;int iMask=1;int x = 12345; \/\/这个就是要转换的数 int x2[iTimes];int i;for( i=0 ; i<iTimes ; i++ ){ x2[i]=x & iMask;iMask = iMask << 1;\/\/ printf("%d",iMask);} printf("\\...