A. 计算两时间的差值(顺序、选择)时间限制1s内存限制128MB题目描述给定两个时间,计算两个时间的差值。输入给定的第一个时间一定比第二个时间大输出
#include <stdio.h>
int main ()
{
int a,b,c,d,e,f;
int g,h,i;
scanf("%d:%d:%d",&a,&b,&c);
scanf("%d:%d:%d\n",&d,&e,&f);
g=((a*3600+b*60+c)-(d*3600+e*60+f))/3600;
h=(((a*3600+b*60+c)-(d*3600+e*60+f))-g*3600)/60;
i=((a*3600+b*60+c)-(d*3600+e*60+f))%60;
printf("%d:%d:%d\n",g,h,i);
return 0;
}
B. 晶晶赴约会(顺序或选择)
晶晶的朋友贝贝约晶晶下周一起去看展览,但晶晶每周的1、3、5有课必须上课,请帮晶晶判断她能否接受贝贝的邀请,如果能输出YES;如果不能则输出NO。
输入
输入有一行,贝贝邀请晶晶去看展览的日期,用数字1到7表示从星期一到星期日。
输出
输出有一行,如果晶晶可以接受贝贝的邀请,输出YES,否则,输出NO。注意YES和NO都是大写字母!
#include <stdio.h>
int main()
{
int a;
scanf("%d",&a);
if (a%2==0)
printf("YES");
else
printf("NO");
return 0;
}
C. 判断字母(选择)
输入一个字符,判定该字符是否是字母。
(提示:可使用ctype.h中的函数)
输入
字符
输出
若该字符是字母,输出ALPHA; 否则,输出NO
#include <stdio.h>
#include <ctype.h>
int main()
{
char ch1;
scanf ("%c",&ch1);
if (65<=ch1&&ch1<=122)
printf("ALPHA\n");
else
printf("NO\n");
return 0;
}
D. 圆规来袭
现在台风接连来袭,不喜欢学习的大学生张三,希望通过台风放假,但是很不幸,台风中心并没有经过深圳,但是他还是不死心。张三画出一下台风路径图,只要台风覆盖到深圳它就可以放假
黑色直线是台风路径
蓝色直线是深圳到台风路径的垂直距离其中S是垂直点
红色圆圈是台风影响范围,绿色是半径r,C是圆心。
已知台风移动速度是v m/s
|SC|直接距离是dist
问你张三是否可以成功放假
如果不可以输出"sad"
如果可以放假则输出多少秒后放假(答案保留两位小数)
输入
一行输入4个整数h, r, v, dist.
输出
输出结果
#include<stdio.h>
#include<math.h>
int main()
{
int h,r,v,dist;
float t;
scanf("%d%d%d%d",&h,&r,&v,&dist);
t=(dist-sqrt(r*r-h*h))/v;
if(r*r<h*h)
printf("sad\n");
else
{
if(r*r>=h*h+dist*dist)
printf("0.00\n");
else
printf("%.2f",t);
}
return 0;
}
A. 一元二次方程的两个实根求解(顺序)
输入一元二次方程ax^2+bx+c=0的系数a、b、c。
假设输入始终满足b^2-4ac>0且a不等于0,计算并输出该方程的两个实根。
C语言中计算非负实数的平方根函数: double sqrt(double);
头文件:math.h。
输入
一元二次方程的系数a、b、c
输出
ax^2+bx+c=0的两个实根
#include<stdio.h>
#include<math.h>
int main()
{
float a,b,c;
float x1,x2;
scanf("%f%f%f",&a,&b,&c);
x1=(-b+sqrt(b*b-4*a*c))/(2*a);
x2=(-b-sqrt(b*b-4*a*c))/(2*a);
printf("x1=%.2f x2=%.2f",x1,x2);
return 0;
}
B. 判定水仙花数1(选择)
水仙花数也被称为超完全数字不变数、自恋数、自幂数、阿姆斯壮数或阿姆斯特朗数。水仙花数是指一个 n 位数(n≥3 ),它的每个位上的数字的 n 次幂之和等于它本身,例如:
输入一个三位数,判定其是否水仙花数。
输入
一个三位数
输出
输出0或1,0表示不是水仙花数,1表示是水仙花数。
C. 求三个数中的最大值
编写一个程序,输入a、b、c三个值,输出其中最大值。
输入
一行数组,分别为a b c
输出
a b c其中最大的数
#include<stdio.h>
int main()
{
int a,b,c;
scanf("%d%d%d",&a,&b,&c);
if(a>b&&a>c)
printf("%d",a);
else
{
if(b>c)
printf("%d",b);
else
printf("%d",c);
}
return 0;
}
D. 字符判断(选择)
输入一个字符,如果它是大写字母,就输出“upper”,如果它是小写字母,就输出“lower”,如果它是数字字符,就输出"digit",如果它是其他字符,就输出“others”。
输入
一个字符
输出
字符的类别
#include<stdio.h>
int main()
{
char ch;
scanf("%c",&ch);
if(ch>=65&&ch<=90)
printf("upper\n");
else if(ch>=97&&ch<=122)
printf("lower\n");
else if(ch>=48&&ch<=57)
printf("digit\n");
else
printf("others\n");
return 0;
}
E. 计算邮资(选择)
根据邮件的重量和用户是否选择加急计算邮费。计算规则:重量在1000克以内(包括1000克), 基本费8元。超过1000克的部分,每500克加收超重费4元,不足500克部分按500克计算;如果用户选择加急,多收5元。
输入
输入一行,包含整数和一个字符,以一个空格分开,分别表示重量(单位为克)和是否加急。如果字符是y,说明选择加急;如果字符是n,说明不加急。
输出
输出一行,包含一个整数,表示邮费。
#include<stdio.h>
int main()
{
int m,a,l,k;
char ch;
scanf("%d %c",&m,&ch);
if(m<=1000)
printf ("8\n");
else
{
l=(m-1000)%500;
if(l=0)
a=8+4*((m-1000)/500);
else
a=8+4*((m-1000)/500+1);
if(ch=='y')
k=a+5;
else if(ch=='n')
k=a;
printf("%d",k) ;
}
return 0;
}
F. 三角形判断(选择)
输入三角形三条边的长度a、b、c,判断它们分别能构成什么形状的三角形:普通三角形、等边三角形、等腰三角形、等腰直角三角形。
(提示:判断两个浮点数a、b相等,可以使用fabs(a-b)<0.001 )
输入
三条边的长度
输出
三角形类型的名称;如果不能构成三角形,就输出“非三角形”
G. 算术式子判断(选择)
用户输入一个算术运算的式子,运算包括了+、-、*、/、%,首先输出该式子,如果运算符不在这5种操作内,输出运算符错误的信息;如果式子是正确的,输出式子正确的相应信息;如果式子是错误的,输出式子错误的相应信息。例如:
输入:1+2=3
输出:1+2=3 correct
输入:2/3=8
输出:2/3=8 wrong
输入:6&7=12
输出:6&7=12 error op
输入
一个算术式子
输出
该式子以及对错信息
#include <stdio.h>
int main()
{
int a,b,c;
char d,e;
scanf("%d%c%d%c%d",&a,&d,&b,&e,&c);
if((d!='+')&&(d!='-')&&(d!='*')&&(d!='/')&&(d!='%'))
printf("%d%c%d%c%d error op",a,d,b,e,c);
else
{
if((d=='+')&&(e=='=')&&(c==a+b))
printf("%d%c%d%c%d correct",a,d,b,e,c);
else if((d=='-')&&(e=='=')&&(c==a-b))
printf("%d%c%d%c%d correct",a,d,b,e,c);
else if((d=='*')&&(e=='=')&&(c==a*b))
printf("%d%c%d%c%d correct",a,d,b,e,c);
else if((d=='/')&&(e=='=')&&(c==a/b))
printf("%d%c%d%c%d correct",a,d,b,e,c);
else if((d=='%')&&(e=='=')&&(c==a%b))
printf("%d%c%d%c%d correct",a,d,b,e,c);
else
printf("%d%c%d%c%d wrong",a,d,b,e,c);
}
return 0;
}