y){t=x;x=y;y=t;} /*交换x,y的">

最新C语言必背的典型程序设计题目--选择、循环--答案

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

选择结构必背经典程序(参考答案)1、输入3个整数,排序后输出。

#include

void main()

{

int x,y,z,t;

scanf("%d%d%d",&x,&y,&z);

if (x>y)

{t=x;x=y;y=t;} /*交换x,y的值*/

if(x>z)

{t=z;z=x;x=t;} /*交换x,z的值*/

if(y>z)

{t=y;y=z;z=t;} /*交换z,y的值*/

printf("small to big: %d %d %d\n",x,y,z);

}

2、求解一元二次方程ax2+bx+c=0。

#include

#include

void main()

{

double a,b,c,deta,x1,x2;

printf("Enter a,b,c:");

scanf("%lf%lf%lf",&a,&b,&c);

if(fabs(a)>1e-6)

{

deta=b*b-4*a*c;

if(deta>0)

{

x1=-b/(2*a)+sqrt(deta)/(2*a);

x2=-b/(2*a)-sqrt(deta)/(2*a);;

printf("有两个不同的实根:x1=%.2f ,x2=%.2f\n",x1,x2);

}

else if(deta==0)

{

x1=x2=-b/(2*a);

printf("有两个相同的根:x1=x2=%.2f\n",x1);

}

else

{

x1=-b/(2*a);

x2=sqrt(-deta)/(2*a);

printf("有两个虚根:x1=%.2f + %.2f*i,x2=%.2f - %.2f*i\n",x1,x2,x1,x2);

}

}

else

printf("二次项系数为0,不是一元二次方程!");

}

3、已知银行整存整取存款不同期限的月息利率分别为:

0.315% 期限一年

0.330% 期限二年

0.345% 期限三年

0.375% 期限五年

0.420% 期限八年

要求输入存钱的本金和期限,求到期时能从银行得到的利息与本金的合计。

#include

void main()

{

double capital,total,interest;

int deadline;

printf("Enter a capital and deadline:");

scanf("%lf%d",&capital,&deadline);

if(deadline>=8)

{

interest=0.00420*capital*12*deadline;

total=capital+interest;

printf("Interest : %.3f , Total: %.3f\n",interest,total);

}

else if(deadline>=5 && deadline<8)

{

interest=0.00375*capital*12*deadline;

total=capital+interest;

printf("Interest : %.3f , Total: %.3f\n",interest,total);

}

else if(deadline>=3 && deadline<5)

{

interest=0.00345*capital*12*deadline;

total=capital+interest;

printf("Interest : %.3f , Total: %.3f\n",interest,total);

}

else if(deadline==2)

{

interest=0.00330*capital*12*deadline;

total=capital+interest;

printf("Interest : %.3f , Total: %.3f\n",interest,total);

}

else if(deadline==1)

{

interest=0.00315*capital*12*deadline;

total=capital+interest;

printf("Interest : %.3f , Total: %.3f\n",interest,total);

}

else

printf("score input error!\n");

}

4、给一个不多于5位的正整数,要求:①求出它是几位数;②分别打印出每一位数字;③按逆序打印出各位数字,例如原数是321,应输出123。

#include

void main( )

{

long a,b,c,d,e,x;

scanf("%ld",&x);

a=x/10000; /*分解出万位*/

b=x%10000/1000; /*分解出千位*/

c=x%1000/100; /*分解出百位*/

d=x%100/10; /*分解出十位*/

e=x%10; /*分解出个位*/

if (a!=0) printf("there are 5, %ld %ld %ld %ld %ld\n",e,d,c,b,a);

else if (b!=0) printf("there are 4, %ld %ld %ld %ld\n",e,d,c,b);

else if (c!=0) printf(" there are 3,%ld %ld %ld\n",e,d,c);

else if (d!=0) printf("there are 2, %ld %ld\n",e,d);

相关文档
最新文档