今天做一下练习题。
1、假如我国国民生产总值的年增长率为9%,计算10年后我国国民生产总值与现在相比增长多少百分比。计算公式为 p=(1+r)^n
r为年增长率,n为年数,p为与现在的相比的倍数。
#include <stdio.h>
#include <math.h> //函数库
void main( )
{
int n=10; double r,p;
r=0.09;
p=pow((1+r),n); // 次方函数一般形式为:变量=pow(x,y),x为底,y为冥;
printf("10年后与现在相比的倍数为:%f\n",p);
}
2、购房从银行贷了一笔款d,准备每月还款额为p,月利率为r,计算多少月能还清。设d为300000元,p为6000元,r为1%。对求得的月份取小数点后一位,对第2位按四舍五入处理。
#include <stdio.h>
#include <math.h> //函数库
int main( ) //不知道为什么我在这里用void main ( ),运行老是提示错误。。。
{ float d,p;
double m,r=0.01;
d=300000; p=6000;
m=log(p/(p-d*r))/log(1+r);
printf("%3.2f\n",m);
m=(int)(m*10+0.5)/10.0 //对第二位进行四舍五入
printf("计划%3.2f月才能还清\n",m);
return 0;
}
3、设圆的半径r=1.5,圆柱高h=3,求圆周长、圆面积、圆球表面积、圆球体积、圆柱体积。用scanf输入数据,输出计算结果,输出时要求有文字说明,取小数点后2位数字。请编程序。
#include <stdio.h>
#define PI 3.1415926
void main( )
{
double h,r;
printf("please input h,r\n");
scanf("%f%f",&h,&r);
printf("%.2f\n",PI*2*r); //圆的周长
printf("%.2f\n",PI*r*r); //圆的面积
printf("%.2f\n",4*PI*r*r); //圆球的表面积
printf("%.2f\n",(4*PI*r*r)/3); //圆球的体积
printf("%.2f\n",PI*(r*r)*h); //圆柱的体积
}
4、输入一个整型成绩x,如果大于等于60分,输出“pass”,否则输出“fail”。
//用条件运算符输出
#include <stdio.h>
void main ()
{doublf x;
printf(“please input x:\n”);
scanf("%lf",&x);
printf("%s\n",x>=60?"Pass":"Fail");}
另一种输出方法
#include <stdio.h>
void main ()
{doublf x;
printf(“please input x:\n”);
scanf("%lf",&x);
if(x>=60)
{printf("Pass\n");}
else
{printf("Fail\n");}}
5、输入一个年份y,如果是闰年,输出“y is a leap year”,否则输出“y is not a leapyear。
提示:四年一闰,百年不闰,四百年再闰。
//用条件运算符输出
#include <stdio.h>
void main ()
{int y;
printf(“please input y:\n”);
scanf("%d",&y);
printf("%d is %s\n",y%4==0&&y%100!==0||y%400==!0?" a leap year":" not a leap year");}
6、输入三条边a,b,c,如果它们能构成一个三角形,输出“Yes”,否则输出“No”。
#include <stdio.h>
void main ( )
{
double a,b,c;
printf("please input a,b,c:\n");
scanf("%lf%lf%lf",&a,&b,&c); //注:double型一定要用%lf,不然会输出错误。
printf("%s\n",a+b>c&&a+c>b&&b+c>a?"YES":"NO");
}
7、输入三个数x,y,z,按从小到大的输出结果。
#include <stdio.h>
void main ( )
{
int x,y,z,t;
scanf("%d%d%d",&x,&y,&z);
if(x>y) {t=x;x=y;y=t;}
if(x>z) {t=z;z=x;x=t;}
if(y>z) {t=y;y=z;z=t;}
printf("从小到大为:%d%d%d",x,y,,z);
}
8、输入一个平面上的点坐标,判断它是否落在圆心(0,0),半径为1的圆内,如果在圆内,输出“Yes”,否则输出“No”。
提示:分别用x,y代表平面上一个点。
#include <stdio.h>
void main( )
{
double x,y;
printf("please input x,y:\n");
scanf("%lf%lf",&x,&y);
printf("%s",x*x+y*y<=0?"YES":"NO");
}
9、字母的大小写转换。
#include <stdio.h>
void main()
{
char ch;
scanf("%c",&ch);
if(ch>='A'&&ch<='Z')
{
ch=ch+32;
printf("%c\n",ch);
}
else if(ch>='a'&&ch<='z')
{
ch=ch-32;
printf("%c\n",ch);
}
else
printf("Bad input\n");
}
10、计算圆柱体的体积V=πr2h,其中π=3.14159。提示:模仿2.27
#include#define PI 3.14159
int main()
{
double h,r;
scanf("%lf%lf",&h,&r);
printf("V=%3.2f\n",2*PI*r*h);
return 0;
}
11、输入三个整数,输出其中最小者。
#include <stdio.h>
int main()
{
int a,b,c,min;
scanf("%d%d%d",&a,&b,&c);
min=a<b?a:b;
min=min<c?min:c;
printf("min=%d\n",min);
return 0;
}
12、输入两个整数,输出其中最大者。
#include <stdio.h>
int main()
{
int a,b,c,maxn;
scanf("%d%d%d",&a,&b,&c);
printf("max=%d\n",max=((a<b?a:b)<c?a:c);
return 0;
}
13、编程实现,输入一个整数,判断它是否为偶数,并显示相应的信息
#include <stdio.h>
int main()
{
int a;
scanf("%d",&a);
if(a/2==0)
printf("%d为偶数\n",a);
else
printf("%d不是偶数\n",a);
return 0;
}
14、编程实现一个具有简单四则运算功能的计算器。
#include <stdio.h>
void main()
double a,b,result; char c;
scanf("%lf%c%lf",&a,&c,&b);
switch(c){ case'+': result=a+b; break;
case'-': result=a-b; break;
case'*': result=a*b; break;
case'/': result=a/b; break;
default:printf("error\n"); } printf("结果为:%lf\n",result); }
还有一种用if……else语句也可以
#include <stdio.h>
void main()
double a,b,result;
char c;
scanf("%lf%c%lf",&a,&c,&b);
if(c=='+') {result=a+b;}
else if(c=='-'){result=a-b;}
else if(c=='*'){result=a*b;}
else if(c=='/') {result=a/b;}
else printf("error\n");
printf("结果为:%lf\n",result);
15、将以下语句改写成switch语句。 if((t>0)&&(t<=10))
if((t>=3)&&(t<=6)) x=2; else if((t>1)||(t>8)) x=3; else x=1; else x=0;
switch(t){
case 0:x=0;break;
case 1:case2: x=1;break;
case 3:case 4:case 5:case 6,:x=2;break;
case 7:case 8:case9,: x=3;break;
case 10: x=3;break;
}