5. 给出一个不多于5位的正整数,求出它是几位数,分别打印出每一位数字,然后再按逆序打印出各位数字。
解: #include “stdio.h”
main()
{
unsigned x,m,n=0,w=0;
unsigned ge=0,shi=0,bai=0,qian=0,wan=0;
printf(“请输入一个正整数:”);
scanf(“%u”,&x);
m=x;
ge=m%10; m=m/10;w=1;n=ge;
if(m) {shi=m%10;m=m/10;w=2;n=n*10+shi;
if(m) {bai=m%10;m=m/10;w=3;n=n*10+bai;
if(m) {qian=m%10;m=m/1;w=4;n=n*10+qian;
if(m) {wan=m;w=5;n=n*10+wan;}
}
}
}
printf(“n%u为%u位数.”,w);
printf(“n正整数的原序为:%u”,x);
printf(“n正整数的逆序为:%u”,n);
}
6. 编写程序,输入一位学生的生日,并输入当前的日期,输出该生的实足年龄。
解: #include “stdio.h”
main()
{int sy,sm,sd,cy,cm,cd;
printf(“n请输入学生的生日(年:月:日):”);
scanf(“%d:%d:%d”,&sy,&sm,&sd);
printf(“n请输入当前的日期(年:月:日):”);
scanf(“%d%d%d”,&cy,&cm,&cd);
if(cm>=sm&cd.=sd)
printf(“学生的实足年龄是:%d”,cy-sy);
else printf(“学生的实足年龄是:%d”,cy-sy-1);
}
7. 编写程序,输入一个整数,打印它是奇数还是偶数。
解: #include “stdio.h”
main()
{
int x;
printf(“n请输入一个整数:”);
scanf(“%d”,&x);
if(x%2==0)
printf(“%d是偶数.”,x);
else
printf(“%d是奇数.”,x);
}
8. 某企业利润提成的规则如下:
(1) 利润低于或等于10万元的,可提成奖金%10;
(2) 利润高于10万元,低于20万元时,低于10万元的部分按%10提成,另外部分可以提成7.5%;
(3) 利润高于20万低于40万元的,其中20万元按前面的方法发放,另外的部分按5%提成;
(4) 利润高于40万元的,40 万元按前面的方法提成,高于部分按3%提成。
请从键盘输入利润,输出应发的提成。
解: /* 用if语句*/
#include “stdio.h”
main()
{
int pf; float pr;
printf(“n请输入利润总数(单位:万元):”);
scanf(“%d”,&pf);
if(pf<=10)
pr=pf*0.10;
else if(pf<20)
pr=10*0.10+(pf-10)*0.075;
else if(pf<40)
pr=10*0.10+10*0.075+(pf-20)*0.05;
else
pr=10*0.10+10*0.075+20*0.05+(pf-40)*0.03;
printf(“n应发的奖金是:%f万元.”,pr);
}
/*用switch语句*/
#include “stdio.h”
main()
{
int pf; float pr;
printf(“n请输入利润总数(单位:万元):”);
scanf(“%d”,&pf);
switch(pf/10)
{
case 0: pr=pf*0.10; break;
case1: pr=10*0.10+(pf-10)*0.075; break;
case2:
case3: pr=10*0.10+10*0.075+(pf-20)*0.05; break;
default: pr=10*0.10+10*0.075+20*0.05+(pf-40)*0.03;
}
printf(“n应发的奖金是:%f万元.”,pr);
}
评论列表
文章目录