1.输入一个5位整数,将每位的数据进行分离,要求逆序输出对应的数,即分别按照字符型输出个位、十位、百位、千位以及万位上的整数。例如,输入12345,输出5-4-3-2-1。
#include <stdio.h>
#include <stdlib.h>
int main()
{
int R;
int z[5];
printf("输入一个5位整数:");
scanf("%d",&R);
int i;
for(i=0;i<5;i++){
z[i] = R%10;
R = R/10;
}
int j;
for(j=0;j<5;j++){
printf("%d ",z[j]);
}
return 0;
}
2.输入三角形的三个边长,计算最大角的正弦值及三角形面积。
注意对输入数据有效性的检测及三角形边长合理性的判断。
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main()
{
float a,b,c;
printf("请输入三角形三边边长:(请从大到小输入)\n");
scanf("%f %f %f",&a,&b,&c);
//判断边长是否合理
if(a+b>c && a+c>b && b+c>a && a>b-c && b>a-c && c>a-b){
//计算面积
float p = (a+b+c)/2;
float S = sqrt(p*(p-a)*(p-b)*(p-c));
printf("三角形的面积为:%f \n",S);
//计算正弦
float cosA = (b*b+c*c-a*a)/(2*b*c);
float sinA = sqrt(1-cosA*cosA);
printf("最大角的正弦为: %f \n",sinA);
}
else{
printf("输入的三边边长无法构成三角形");
}
return 0;
}
3.编写程序预测断电后冰箱的温度。断电后经过一段时间,温度保持情况由如下公式决定:
其中,t为断电后经过的时间(小时),T为温度(℃)。经过若干小时候冰箱温度接近室温并保持不变. 假设室温为18℃. 程序提示用户输入时间,它以整数小时和分钟表示,需要将其转换为浮点型的小时数。输出此时的温度值(小数点后2位有效数字)。
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
float T;//温度
float t;//时间
int h,m;
printf("请输入时间:(时:分)");
scanf("%d : %d",&h,&m);
t = h + (float)m/60;
// printf("%f",t);
T = 4*t*t/(t+2) - 20;
if( T >= 18 ){
printf("冰箱此时的温度值:18");//室温
}else{
printf("冰箱此时的温度值:%.2f \n",T);
}
return 0;
}
4.编程计算汽车的平均速度
汽车在高速公路上匀速行驶。沿途都有距离上路地点的里程标志,已知开始和结束的里程,分别输入上路时间和下路时间(时、分、秒),假设汽车上路和下路的时间在同一天。计算汽车在该段形式的平均速度,并以“公里数/每小时”的形式输出平均速度。程序的运行界面如所示。
#include <stdio.h>
#include <stdlib.h>
int main()
{
int startL,endL;//开始里程和结束里程
int startH,startM,startS;//开始时间
int endH,endM,endS;//结束时间
printf("所有输入都为整数\n");
printf("开始里程?\n");
scanf("%d",&startL);
printf("开始时间:(时 分 秒)\n");
scanf("%d %d %d",&startH,&startM,&startS);
printf("结束里程?\n");
scanf("%d",&endL);
printf("结束时间:(时 分 秒)\n");
scanf("%d %d %d",&endH,&endM,&endS);
float startT,endT,T;
int H,M,S;
float v;
startT = startH + (float)startM/60 + (float)startS/60/60;
endT = endH + (float)endM/60 + (float)endS/60/60;
T = endT - startT;
printf("%f %f %f ...\n",startT,endT,T);
int sT,eT;
sT = startS + startM*60 + startH*60*60;
eT = endS + endM*60 + endH*60*60;
H = (eT-sT)/60/60;
M = (eT-sT)/60 - H*60;
S = (eT-sT) - H*3600 -M*60;
v = (endL - startL)/T;
printf("一共行驶了 %d 公里。\n",endL-startL);
printf("一共花了 %d 小时 %d 分 %d 秒 \n",H,M,S);
printf("速度为:%.4f 公里/小时 \n",v);
return 0;
}