1
判断一个整型数据有几位v2.0(4分)
题目内容:
从键盘输入一个整型数据(int型),编写程序判断该整数共有几位,并输出包含各个数字的个数。例如,从键盘输入整数16644,该整数共有5位,其中有1个1,2个6,2个4。
#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,求应发放奖金总数?
思路
设利润profit,利用if和多个else if将profi划分成六档计算奖金数,profit用long int类型。
3
程序修改—1(4分)
题目内容:
修改下面这个程序使其快速计算1+2+3……+n的值,n从键盘输入。并按照下面给出的运行示例检查程序。
#include <stdio.h>
int main()
{
int i, j, sum = 0, n=100;
for (i=1,j=n; i<=j; i++,j--)