7-1 sdut-C语言实验-求绝对值
从键盘上输入任意一个整数,然后输出它的绝对值!
输入格式:
从键盘上输入任意一个整数。
输出格式:
输出它的绝对值。
输入样例:
在这里给出一组输入。例如:
-4
输出样例:
在这里给出相应的输出。例如:
4
参考代码:
#include<stdio.h>
int main()
{
int a;
scanf("%d",&a);
if(a>=0)
a=a;
else
a=-a;
printf("%d",a);
return 0;
}
7-2 sdut-C语言实验——整除
判断一个数n能否同时被3和5整除。
输入格式:
输入一个正整数n。
输出格式:
如果能够同时被3和5整除,输出Yes,否则输出No。
输入样例:
15
输出样例:
在这里给出相应的输出。例如:
Yes
参考代码:
#include<stdio.h>
int main()
{
int n;
scanf("%d",&n);
if(n%3==0&&n%5==0)
printf("Yes");
else
printf("No");
return 0;
}
7-3 sdut-C语言实验-时间间隔
从键盘输入两个时间点(24小时制),输出两个时间点之间的时间间隔,时间间隔用“小时:分钟:秒”表示。
如:3点5分25秒应表示为--03:05:25.假设两个时间在同一天内,时间先后顺序与输入无关。
输入格式:
输入包括两行。
第一行为时间点1。
第二行为时间点2。
输出格式:
以“小时:分钟:秒”的格式输出时间间隔。
格式参看输入输出。
输入样例:
12:01:12
13:09:43
输出样例:
在这里给出相应的输出。例如:
01:08:31
参考代码:
#include<stdio.h>
int main()
{
int a,b,c,d,e,f,g,h,i,j,k,l,m;
scanf("%d:%d:%d\n",&a,&b,&c);
scanf("%d:%d:%d\n",&d,&e,&f);
g=a*3600+b*60+c;
h=d*3600+e*60+f;
if(h>g){
i=h;
h=g;
g=i;}
j=g-h;
k=j/3600;
l=j%3600/60;
m=j%3600%60;
printf("%02d:%02d:%02d",k,l,m);
return 0;
}
7-4 sdut-C语言实验——求两个整数之中较大者
输入两个整数,请编程求其中的较大者。
输入格式:
在一行中输入用空格隔开的两个整数,例如5 9。
输出格式:
输出两个整数之中较大者,输出形式举例:max=9。
输入样例:
在这里给出一组输入。例如:
5 9
输出样例:
在这里给出相应的输出。例如:
max=9
参考代码:
#include<stdio.h>
int main()
{
int a,b;
scanf("%d %d",&a,&b);
if(a>=b)
printf("max=%d",a);
else
printf("max=%d",b);
return 0;
}
7-5 sdut-C语言实验——找中间数
输入三个整数,找出其中的中间数。(这里的中间数指的是大小,不是位置。)
输入格式:
输入3个整数。
输出格式:
输出中间数。
输入样例:
在这里给出一组输入。例如:
1 2 3
输出样例:
在这里给出相应的输出。例如:
2
参考代码:
#include<stdio.h>
int main()
{
int a,b,c;
scanf("%d %d %d",&a,&b,&c);
if(a>=b&&b>=c||c>=b&&b>=a)
printf("%d",b);
else if(b>=a&&a>=c||c>=a&&a>=c)
printf("%d",a);
else if(a>=c&&c>=b||b>=c&&c>=a)
printf("%d",c);
return 0;
}
7-6 sdut-C语言实验——三个数排序
输入三个整数x,y,z,请把这三个数由小到大输出。
输入格式:
输入数据包含3个整数x,y,z,分别用逗号隔开。
输出格式:
输出由小到大排序后的结果,用空格隔开。
输入样例:
在这里给出一组输入。例如:
2,1,3
输出样例:
在这里给出相应的输出。例如:
1 2 3
参考代码:
#include<stdio.h>
int main()
{
int x,y,z;
scanf("%d,%d,%d",&x,&y,&z);
if(x>=y&&y>=z)
printf("%d %d %d",z,y,x);
else if(x>=z&&z>=y)
printf("%d %d %d",y,z,x);
else if(y>=x&&x>=z)
printf("%d %d %d",z,x,y);
else if(y>=z&&z>=x)
printf("%d %d %d",x,z,y);
else if(z>=x&&x>=y)
printf("%d %d %d",y,x,z);
else if(z>=y&&y>=x)
printf("%d %d %d",x,y,z);
return 0;
}
7-7 sdut-C语言实验-求三个整数的最大值
请编写程序,输入三个整数,求出其中的最大值输出。
输入格式:
在一行上输入三个整数,整数间用逗号分隔。
输出格式:
输出三个数中的最大值。
输入样例:
在这里给出一组输入。例如:
5,7,9
输出样例:
在这里给出相应的输出。例如:
max=9
参考代码:
#include<stdio.h>
int main()
{
int a,b,c,d;
scanf("%d,%d,%d",&a,&b,&c);
if(a>=b)
d=a;
else
d=b;
if(c>=d)
d=c;
printf("max=%d",d);
return 0;
}
7-8 sdut-C语言实验- 相加和最大值
输入三个整数a,b,c。并进行两两相加,最后比较相加和的最大值。
输入格式:
输入数据包含三个整数,用空格分开。
输出格式:
输出两两相加后的最大值。
输入样例:
1 2 3
输出样例:
在这里给出相应的输出。例如:
5
参考代码:
#include<stdio.h>
int main()
{
int a,b,c,d,e,f,m;
scanf("%d %d %d",&a,&b,&c);
d=a+b;
e=a+c;
f=b+c;
if(d>=e)
m=d;
else
m=e;
if(f>=m)
m=f;
printf("%d",m);
return 0;
}
7-9 sdut-C语言实验-三位数整数的各位数字
本题要求编写程序,输入一个三位数的正整数,并输出它的个位数字、十位数字和百位数字的值。
输入格式:
请输入三位正整数,例如152。
输出格式:
按照以下格式输出:
152 = 个位数字 + 十位数字10 + 百位数字100
如不是三位数,输出“Please input a three digits number.”。
输入样例1:
125
输出样例1:
125 = 5 + 2*10 + 1*100
参考代码:
#include<stdio.h>
int main()
{
int a,b,c,d;
scanf("%d",&a);
b=a/100;
c=a%100/10;
d=a%100%10;
if(a>=0&&a<=999)
printf("%d = %d + %d*10 + %d*100",a,d,c,b);
else
printf("Please input a three digits number.");
return 0;
}
7-10 sdut-C语言实验-虎子算电费
为了提倡居民节约用电,某省电力公司执行“阶梯电价”,安装一户一表的居民用户电价分为两个“阶梯”:月用电量50千瓦时(含50千瓦时)以内的,电价为0.53元/千瓦时;超过50千瓦时的,超出部分的用电量,电价上调0.05元/千瓦时。
虎子决定编写程序计算一算家里电费。你也会编写这个程序吧?
输入格式:
输入在一行中给出虎子家的月用电量(单位:千瓦时)。
输出格式:
在一行中输出虎子家应支付的电费(元),结果保留两位小数,格式如:“cost = 应付电费值”;若用电量小于0,则输出"Invalid Value!"。
输入样例1:
10
输出样例1:
cost = 5.30
输入样例2:
100
输出样例2:
cost = 55.50
参考代码:
#include<stdio.h>
int main()
{
double x,y;
scanf("%lf",&x);
if(x>=0&&x<=50){
y=x*0.53;
printf("cost = %.2f",y);}
else if(x>50)
{y=50*0.53+(x-50)*0.58;
printf("cost = %.2f",y);}
else if(x<0)
printf("Invalid Value!");
}
7-11 计算分段函数[1]
本题目要求计算下列分段函数f(x)的值:
输入格式:
输入在一行中给出实数x。
输出格式:
在一行中按“f(x) = result”的格式输出,其中x与result都保留一位小数。
输入样例1:
10
输出样例1:
f(10.0) = 0.1
输入样例2:
0
输出样例2:
f(0.0) = 0.0
参考代码:
#include<stdio.h>
int main()
{
double x,result;
scanf("%lf",&x);
if(x==0)
printf("f(0.0) = 0.0");
else{
result=1/x;
printf("f(%.1f) = %.1f",x,result);
}
return 0;
}
7-12 计算分段函数[2]
本题目要求计算下列分段函数f(x)的值:
注:可在头文件中包含math.h
,并调用sqrt
函数求平方根,调用pow
函数求幂。
输入格式:
输入在一行中给出实数x。
输出格式:
在一行中按“f(x) = result”的格式输出,其中x与result都保留两位小数。
输入样例1:
10
输出样例1:
f(10.00) = 3.16
输入样例2:
-0.5
输出样例2:
f(-0.50) = -2.75
参考代码:
#include<stdio.h>
#include<math.h>
int main()
{
double x,y;
scanf("%lf",&x);
if(x>=0){
y=sqrt(x);
printf("f(%.2f) = %.2f\n",x,y);}
else{
y=pow(x+1,2)+2*x+1/x;
printf("f(%.2f) = %.2f",x,y);}
return 0;
}
7-13 sdut-C语言实验-时间格式转换
24 小时制的时间格式为 "HH:mm",如 “05:20”,而 12 小时制的时间格式为 "h:mm AM/PM",如 "5:20 AM"。
24 小时制到 12 小时制的对应关系如下:
0 时:12 时 (AM)
1~11 时:1~11 时 (AM)
12 时:12 时 (PM)
13~23 时:1~11 时 (PM)
例如:"00:00" 对应 "12:00 AM","01:20" 对应 "1:20 AM","12:35" 对应 "12:35 PM","13:17" 对应 "1:17 PM","23:59" 对应 "11:59 PM"。
现在给你一个 24 小时制的时间,请你编写程序将其转换为 12 小时制的时间。
输入格式:
输入只有一行,包含一个 24 小时制的时间。
输出格式:
输出一行,表示转换为 12 小时制以后的时间。其中分钟部分若不足两位需要加 0 补足两位。
输入样例:
在这里给出一组输入。例如:
00:05
输出样例:
在这里给出相应的输出。例如:
12:05 AM
参考代码:
#include<stdio.h>
int main()
{
int a,b;
scanf("%d:%d",&a,&b);
if(a==0)
printf("12:%02d AM",b);
else if(a>0&&a<=11)
printf("%02d:%02d AM",a,b);
else if(a==12)
printf("12:%02d PM",b);
else if(a>12)
printf("%02d:%02d PM",a-12,b);
return 0;
}
7-14 sdut-C语言实验——输入数字星期,输出英文(switch语句)
从键盘上输入数字星期,然后输出它的英文。
其对应关系是:
1 Monday
2 Tuesday
3 Wednesday
4 Thursday
5 Friday
6 Saturday
7 Sunday
如果输入1-7之外的数字,则输出:error
输入格式:
从键盘输入数字星期,输入数字在1-7之间。
输出格式:
输出该数字对应的英文星期表示。
输入样例:
3
输出样例:
在这里给出相应的输出。例如:
Wednesday
参考代码:
#include<stdio.h>
int main()
{
int x;
scanf("%d",&x);
switch(x)
{
case 1:printf("Monday\n");
break;
case 2:printf("Tuesday\n");
break;
case 3:printf("Wednesday\n");
break;
case 4:printf("Thursday\n");
break;
case 5:printf("Friday\n");
break;
case 6:printf("Saturday\n");
break;
case 7:printf("Sunday\n");
break;
default:printf("error\n");
return 0;
}
}
7-15 sdut-C语言实验——模拟计算器
简单计算器模拟:输入两个整数和一个运算符,输出运算结果。
输入格式:
第一行输入两个整数,用空格分开;
第二行输入一个运算符(+、-、*、/)。
所有运算均为整数运算,保证除数不包含0。
输出格式:
输出对两个数运算后的结果。
输入样例:
30 50
*
输出样例:
1500
参考代码:
#include<stdio.h>
int main()
{
int a,b;
char x;
scanf("%d %d\n",&a,&b);
scanf("%c",&x);
if(x=='+')
printf("%d",a+b);
else if(x=='-')
printf("%d",a-b);
else if(x=='*')
printf("%d",a*b);
else if(x=='/')
printf("%d",a/b);
return 0;
}