第一次作业 计四14
程序
#include <stdio.h> int main() { int n; int a,b,c,ret; scanf("%d",&n); a=n%10,b=n/10%10,c=n/100; ret=a*100+b*10+c; printf("%d",ret); return 0; }
思路
我们先定义变量一整数n ;
我们再次定义a,b,c为新数字的个,十,百位,ret为新数字;
我们采用
ret=a*100+b*10+c;这个公式算出新数字;
采用的就是n除以10的余为个数赋值a;
n除以10后再次取余为十位赋值b;
n除以100为百位赋值c;
这样相加的话还可以防止百位上0.
该题难点在于十位上怎么求,我是多次运算才得知的,并且还要防止百位上出现0。
框图
程序
#include <stdio.h> int main(){ int car,speed; float exceed; scanf("%d %d",&car,&speed); exceed=(car-speed)*100.0/speed; if (exceed<10){ printf("OK"); } else if(exceed<50){ printf("Exceed %.0f%%. Ticket 200",exceed); } else{ printf("Exceed %.0f%%. License Revoked",exceed); } return 0; }
思路
首先我们还是先赋值变量车速car,限速speed,百分数exceed;
我们用公式exceed=(car-speed)*100.0/speed;可以求出exceed;
然后使用if-else分情况输出;
exceed小于10,ok;
exceed小于50,Ticket 200;
否则,License Revoked。
该题应熟练运用if-else,并且我们还要切记exceed=(car-speed)*100.0/speed中应是100.0。
通过学习几周的c语言后,我从一开始的认为它很简单变成了感觉很难,通过做题,我发现好多的题是因为不懂题意
不能清楚地按照题目写出来程序,我经常看一些代码,来熟悉这种做题的感觉。