程序设计入门-C语言 翁恺 第2周 计算

//2.1计算
/一定要你输入的东西,一定要满足/
#include <stdio.h>
int main()
{
int a;
int b;
printf(“请输入两个整数:”);
scanf("%d %d “,&a,&b);
printf(”%d + %d = %d\n", a,b,a+b);
return 0;
}
/**/
#include <stdio.h>
int main()
{
const int AMOUNT = 100;
int price = 0;
printf(“请输入金额(元):”);
scanf("%d",&price);
int change = AMOUNT -price; //C99
printf(“找您%d元。\n”,change);
return 0;
}
#include <stdio.h>
int main()
{
printf(“请分别输入身高的英尺英寸,”
“如输入"5 7"表示5英尺7英寸:”); //""
double foot;
double inch;
scanf("%lf %lf",&foot,&inch);
printf(“身高是%f.\n”,
((foot+inch/12)0.3048));
return 0;
}
//2.2数据类型
#include <stdio.h>
int main()
{
printf("%f",10.0/3
3);
return 0;
}//2.2数据类型
#include <stdio.h>
int main()
{
printf("%d",10/3); //整数与整数运算结果还是整数
return 0;
}
//2.2数据类型
#include <stdio.h>
int main()
{
int a,b;
scanf("%d %d",&a,&b);
double c=(a+b)/2.0; ///
printf("%d和%d的平均值=%f\n",a,b,c);
return 0;
}
//2.3 表达式 计算时间差
#include <stdio.h>
int main()
{
int hour1,minter1;
int hour2,minter2;
scanf("%d %d",&hour1,&minter1);
scanf("%d %d",&hour2,&minter2);
int t1=hour160+minter1;
int t2=hour2
60+minter2;
int t=t2-t1;
printf(“时间差是%d小时 %d分”,t/60,t%60);
return 0;
}
//2.3 表达式 不好的表达式
#include <stdio.h>
int main()
{
int a=5;
int b;

int c = (b=a+2) - (a=2);
printf("%d %d %d",a,b,c);
return 0;

}
//result =(result=result*2)*6(result =3+result);//这样的表达式太复杂,不容易阅读和理解
//容易造成读程序时的误解。所以,要避免写出这样的复杂表达是来的。这个表达式应该被拆成
//若干的表达式,以明显正确的顺序来进行计算
//2.3 表达式 符合赋值运算符 = += -= *= /= %= &= ^= |=
#include <stdio.h>
int main()
{
int a=10;
printf(“a++=%d\n”,a++);
printf(“a=%d\n”,a);
printf("++a=%d\n",++a);
printf(“a=%d\n”,a);

return 0;

}

//2.3 表达式 符合赋值运算符 = += -= *= /= %= &= ^= |=

/*a = b+=c+±d±-e/-f

由运算符的优先级可知:赋值运算符的优先级最低,加后赋值为倒数第二,正负号优先级为第一,自加自减为第二。

所以,在本式中:

第一步:先自右向左计算负号、自增、自减

即先计算-f、–e、c++

其中-f表达为(-f),–e表达为(e-1),c++表达为c

等式变为a = b+=c-d+(e-1)/(-f)

第二步:自左向右计算乘除、取余,然后加减

即计算c-d+(e-1)/(-f)的值,设这个式子为 t

等式变为a = b+=t

第三步:自右向左计算赋值

  1. 对b赋值为 b+=t 即b=b+t 即b=b+c-d+(e-1)/(-f)

  2. 对a赋值为a=b+c-d+(e-1)/(-f)

  3. 最终结果与初始值对比

a=b+c-d+(e-1)/(-f)

b=b+c-d+(e-1)/(-f)

c=c

d=d

e=e-1

f=f

【测试代码】*/

#include <stdio.h>

int main()

{

int a,b=4,c=4,d=5,e=7,f=3;

printf("a=%d\n",a=b+=c++-d+--e/-f);

return 0;

}

#include <stdio.h>

int main()

{

int a,b=4,c=4,d=5,e=7,f=3;

printf("a=%d\n",a=b+=c++-d+--e/-f);

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

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

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

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

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

return 0;

}

测试结果:

a=1

b=1

c=5

d=5

e=6

f=3

/逆序输出3位数 /
#include <stdio.h>
int main()
{
int a =0;
int b =0;
scanf("%d",&a);
b= a/100+a%100/10
10+a%10
100;
printf("%d\n",b);
return 0;

}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值