else if (num>999) place=4; else if (num>99) place=3; else if (num>9) place=2;
else place=1;
printf(\位数:%d\\n\ printf(\每位数字为:\ ten_thousand=num/10000;
thousand=(int)(num-ten_thousand*10000)/1000;
hundred=(int)(num-ten_thousand*10000-thousand*1000)/100;
ten=(int)(num-ten_thousand*10000-thousand*1000-hundred*100)/10;
indiv=(int)(num-ten_thousand*10000-thousand*1000-hundred*100-ten*10); switch(place)
{case 5:printf(\ printf(\反序数字为:\
printf(\ break;
case 4:printf(\ printf(\反序数字为:\ printf(\ break;
case 3:printf(\ printf(\反序数字为:\
printf(\ break;
case 2:printf(\ printf(\反序数字为:\
printf(\ break;
case 1:printf(\ printf(\反序数字为:\ printf(\ break; } } 5.8
(1) #include
{
long i;
double bonus,bon1,bon2,bon4,bon6,bon10;
6
bon1=100000*0.1;
bon2=bon1+100000*0.075; bon4=bon2+100000*0.05; bon6=bon4+100000*0.03; bon10=bon6+400000*0.015; printf(\请输入利润i:\
scanf(\ if (i<=100000) bonus=i*0.1; else if (i<=200000)
bonus=bon1+(i-100000)*0.075; else if (i<=400000)
bonus=bon2+(i-200000)*0.05; else if (i<=600000)
bonus=bon4+(i-400000)*0.03; else if (i<=1000000)
bonus=bon6+(i-600000)*0.015; else
bonus=bon10+(i-1000000)*0.01; printf(\奖金是: .2f\\n\ }
(2) #include
long i;
double bonus,bon1,bon2,bon4,bon6,bon10; int branch;
bon1=100000*0.1;
bon2=bon1+100000*0.075; bon4=bon2+200000*0.05; bon6=bon4+200000*0.03; bon10=bon6+400000*0.015; printf(\请输入利润i:\ scanf(\
branch=i/100000;
if (branch>10) branch=10; switch(branch)
{ case 0:bonus=i*0.1;break;
case 1:bonus=bon1+(i-100000)*0.075;break; case 2:
case 3: bonus=bon2+(i-200000)*0.05;break; case 4:
case 5: bonus=bon4+(i-400000)*0.03;break; case 6:
7
case 7:
case 8:
case 9: bonus=bon6+(i-600000)*0.015;break; case 10: bonus=bon10+(i-1000000)*0.01; }
printf(\奖金是 .2f\\n\ } 5.9
#include
void main() {int t,a,b,c,d;
printf(\请输入四个数:\
scanf(\ printf(\ if (a>b)
{ t=a;a=b;b=t;} if (a>c)
{ t=a;a=c;c=t;} if (a>d)
{ t=a;a=d;d=t;} if (b>c)
{ t=b;b=c;c=t;} if (b>d)
{ t=b;b=d;d=t;}
if (c>d)
{ t=c;c=d;d=t;}
printf(\排序结果如下: \\n\
printf(\ %d %d %d \\n\ ,a,b,c,d); } 5.10
#include
int h=10;
float x1=2,y1=2,x2=-2,y2=2,x3=-2,y3=-2,x4=2,y4=-2,x,y,d1,d2,d3,d4; printf(\请输入一个点(x,y):\ scanf(\
d1=(x-x4)*(x-x4)+(y-y4)*(y-y4); /*求该点到各中心点距离*/ d2=(x-x1)*(x-x1)+(y-y1)*(y-y1);
d3=(x-x2)*(x-x2)+(y-y2)*(y-y2); d4=(x-x3)*(x-x3)+(y-y3)*(y-y3);
if (d1>1 && d2>1 && d3>1 && d4>1) h=0; /*判断该点是否在塔外*/
8
printf(\该点高度为 %d\\n\ } 6.1
#include
int p,r,n,m,temp;
printf(\请输入两个正整数n,m:\ scanf(\ if (n p=n*m; while(m!=0) { r=n%m; n=m; m=r; } printf(\它们的最大公约数为:%d\\n\ printf(\它们的最小公约数为:%d\\n\ } 6.2 #include char c; int letters=0,space=0,digit=0,other=0; printf(\请输入一行字符:\\n\ while((c=getchar())!='\\n') { if (c>='a' && c<='z' || c>='A' && c<='Z') letters++; else if (c==' ') space++; else if (c>='0' && c<='9') digit++; else other++; 9 } printf(\字母数:%d\\n空格数:%d\\n数字数:%d\\n其它字符数:%d\\n\ } 6.3 #include { int a,n,i=1,sn=0,tn=0; printf(\ scanf(\ while (i<=n) { tn=tn+a; /*赋值后的tn为i个 a组成数的值*/ sn=sn+tn; /*赋值后的sn为多项式前i项之和*/ a=a*10; ++i; } printf(\ } 6.4 #include {double s=0,t=1; int n; for (n=1;n<=20;n++) { t=t*n; s=s+t; } printf(\} 6.5 #include int n1=100,n2=50,n3=10; double k,s1=0,s2=0,s3=0; for (k=1;k<=n1;k++) /*计算1到100的和*/ {s1=s1+k;} for (k=1;k<=n2;k++) /*计算1到50各数的平方和*/ 10