7-1 sdut-C语言实验-求绝对值(选择结构)
从键盘上输入任意一个整数,然后输出它的绝对值!
输入格式:
从键盘上输入任意一个整数。
输出格式:
输出它的绝对值。
输入样例:
在这里给出一组输入。例如:
-4
输出样例:
在这里给出相应的输出。例如:
4
#include <stdio.h>
int main()
{
int a;
scanf("%d",&a);
if (a>=0)printf("%d",a);
else 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语言实验——求两个整数之中较大者
输入两个整数,请编程求其中的较大者。
输入格式:
在一行中输入用空格隔开的两个整数,例如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-4 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 >= b)printf("%d", a);
else if (a >= c && c >= b || b >= c && c >= a)printf("%d", c);
return 0;
}
7-5 sdut-C语言实验——三个数排序
输入三个整数x,y,z,请把这三个数由小到大输出。
输入格式:
输入数据包含3个整数x,y,z,分别用逗号隔开。
输出格式:
输出由小到大排序后的结果,用空格隔开。
输入样例:
在这里给出一组输入。例如:
2,1,3
输出样例:
在这里给出相应的输出。例如:
1 2 3
#include<stdio.h>
int main()
{
int a, b, c, t = 0;
scanf("%d,%d,%d", &a, &b, &c);
if (a > b) {
t = a;
a = b;
b = t;
}
if (a > c) {
t = a;
a = c;
c = t;
}
if (b > c) {
t = b; b = c; c = t;
}
printf("%d %d %d", a, b, c);
return 0;
}
7-6 sdut-C语言实验-求三个整数的最大值
请编写程序,输入三个整数,求出其中的最大值输出。
输入格式:
在一行上输入三个整数,整数间用逗号分隔。
输出格式:
输出三个数中的最大值。
输入样例:
在这里给出一组输入。例如:
5,7,9
输出样例:
在这里给出相应的输出。例如:
max=9
#include <stdio.h>
int main()
{
int a,b,c,max,min;
scanf("%d,%d,%d",&a,&b,&c);
if (a>b){max=a;b=min;}
else {max=b;min=a;}//确定最大和最小值了
if (c>max){printf("max=%d",c);}
else if ()
else printf("max=%d",max);
return 0;
}
7-7 sdut-C语言实验- 相加和最大值
输入三个整数a,b,c。并进行两两相加,最后比较相加和的最大值。
输入格式:
输入数据包含三个整数,用空格分开。
输出格式:
输出两两相加后的最大值。
输入样例:
1 2 3
输出样例:
在这里给出相应的输出。例如:
5
#include <stdio.h>
int main()
{
int a,b,c,d,e,f;
scanf("%d %d %d",&a,&b,&c);
d=a+b;
e=a+c;
f=b+c;
if (d>e){if (e>f)printf("%d",d);
else if (d>f)printf("%d",d);
else printf("%d",f);
}
else { if (e<f) printf("%d",f);
else if (d>f) printf("%d",d);
else printf("%d",e);
}
return 0;
}
7-8 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;
scanf("%d",&a);//终端输入一个三位数;
int b,c,d;//分别代表个位十位,百位。
b=a%10;//得到个位数字
c=a%100/10;//得到十位数字;
d=a/100;//得到百位数字;
if (a>=100&&a<=999)
{
printf("%d = %d + %d*10 + %d*100",a,b,c,d);
}
else printf("Please input a three digits number.");
return 0;
}
7-9 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 a, cost = 0;//用电量,费用
scanf("%lf", &a);
if (a <= 50 && a >= 0) {
cost = a * 0.53;
printf("cost = %.2f", cost);
}
else if (a < 0)printf("Invalid Value!");
else if (a > 50) {
cost = (a - 50) * 0.58 + 50 * 0.53;
printf("cost = %.2f", cost);
}
return 0;
}
7-10 计算分段函数[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 a;//输入实数
scanf("%lf",&a);
if (a==0)printf("f(0.0) = 0.0");
else printf("f(%.1f) = %.1f",a,1/a);
return 0;
}
7-11 计算分段函数[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,result;
scanf("%lf",&x);//输入实数X
if (x>=0){
result=sqrt(x);
printf("f(%.2f) = %.2f\n",x,result);
}
else {
result=pow(x+1,2)+(2*x)+(1/x);
printf("f(%.2f) = %.2f\n",x,result);
}
return 0;
}
7-12 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\n",b);
else if (a>=1&&a<=11) printf("%d:%02d AM\n",a,b);
else if (a==12) printf("%d:%02d PM\n",a,b);
else if (a>=13&&a<=23) printf("%d:%02d PM\n",a-12,b);
return 0;
}
7-13 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 a1,b1,c1=0;//第一组数据
int a2,b2,c2=0;
scanf("%d:%d:%d\n%d:%d:%d",&a1,&b1,&c1,&a2,&b2,&c2);//格式化输入
int d,e=0;
d=a1*3600+b1*60+c1;
e=a2*3600+b2*60+c2;
int g=0;
g=d-e;
if (g>0)g=g;
else g=-g;
printf("%02d:%02d:%02d",g/3600,g/60%60,g%60);
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 a;
scanf("%d",&a);
if(a==1)printf("Monday");
else if (a==2)printf("Tuesday");
else if (a==3)printf("Wednesday");
else if (a==4)printf("Thursday");
else if (a==5)printf("Saturday");
else if (a==6)printf("Sunday");
else printf("error");
return 0;
}
7-15 sdut-C语言实验——模拟计算器
简单计算器模拟:输入两个整数和一个运算符,输出运算结果。
输入格式:
第一行输入两个整数,用空格分开;
第二行输入一个运算符(+、-、*、/)。
所有运算均为整数运算,保证除数不包含0。
输出格式:
输出对两个数运算后的结果。
输入样例:
30 50
*
输出样例:
1500
#include <stdio.h>
int main()
{
int a, b; char c;
scanf("%d %d\n%c", &a, &b, &c);//格式化输入
if (c == '+')printf("%d\n", a + b);
if (c == '-')printf("%d\n", a - b);
if (c == '*')printf("%d\n", a * b);
if (c == '/')printf("%d\n", a / b);
return 0;
}