1判断一个整型数据有几位v2.0(4分)
从键盘输入一个整型数据(int型),编写程序判断该整数共有几位,并输出包含各个数字的个数。例如,从键盘输入整数16644,该整数共有5位,其中有1个1,2个6,2个4。
程序运行结果示例1:
Please enter the number:
12226↙
12226: 5 bits
1: 1
2: 3
6: 1
程序运行结果示例2:
Please enter the number:
-12243↙
-12243: 5 bits
1: 1
2: 2
3: 1
4: 1
输入格式: “%d”
输出格式:
输入提示信息:“Please enter the number:\n”
判断该整数共有几位:"%d: %d bits\n"
包含数字0的个数:“0: %d\n”
包含数字1的个数:“1: %d\n”
包含数字2的个数:“2: %d\n”
包含数字3的个数:“3: %d\n”
包含数字4的个数:“4: %d\n”
包含数字5的个数:“5: %d\n”
包含数字6的个数:“6: %d\n”
包含数字7的个数:“7: %d\n”
包含数字8的个数:“8: %d\n”
包含数字9的个数:“9: %d\n”
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main()
{
int i=0,x,xx,xxx,xxxx,xxxxx,x0=0,x1=0,x2=0,x3=0,x4=0,x5=0,x6=0,x7=0,x8=0,x9=0,bit=0;
printf("Please enter the number:\n");
scanf(" %d",&x);
xxxxx=x;
x=(int)fabs(x);
xx=x;
xxxx=x;
do
{
x=x/10;
bit++;
}while(x>0);
do
{
xxx=xx%10;
switch(xxx)
{
case 1:x1++;
break;
case 2:x2++;
break;
case 3:x3++;
break;
case 4:x4++;
break;
case 5:x5++;
break;
case 6:x6++;
break;
case 7:x7++;
break;
case 8:x8++;
break;
case 9:x9++;
break;
case 0:x0++;
break;
}
xx=(xx-xxx)/10;
i++;
}while(i<bit);
printf("%d: %d bits\n",xxxxx,bit);
if(x0>0)
printf("0: %d\n",x0);
if(x1>0)
printf("1: %d\n",x1);
if(x2>0)
printf("2: %d\n",x2);
if(x3>0)
printf("3: %d\n",x3);
if(x4>0)
printf("4: %d\n",x4);
if(x5>0)
printf("5: %d\n",x5);
if(x6>0)
printf("6: %d\n",x6);
if(x7>0)
printf("7: %d\n",x7);
if(x8>0)
printf("8: %d\n",x8);
if(x9>0)
printf("9: %d\n",x9);
return 0;
}
2奖金计算(6分)
企业发放的奖金根据利润提成。利润低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可提成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时,高于40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于100万元时,超过100万元的部分按1%提成,从键盘输入当月利润i,求应发放奖金总数?
程序运行结果示例1:
789↙
bonus=78
程序运行结果示例2:
789516↙
bonus=36342
输入格式: “%ld”
输出格式:“bonus=%ld\n”
#include <stdio.h>
int main() {
long bonus,a;
scanf("%ld",&a);
if(a<=100000) {
bonus=a*0.1;
}
if(a>100000&&a<=200000) {
bonus=100000*0.1+(a-100000)*0.075;
}
if(a>200000&&a<=400000) {
bonus=100000*0.1+100000*0.075+(a-200000)*0.05;
}
if(a>400000&&a<=600000) {
bonus=100000*0.1+100000*0.075+200000*0.05+(a-400000)*0.03;
}
if(a>600000&&a<=1000000) {
bonus=