J - C语言实验——格式化输出(常量练习)
Description
用c语言的基本输出格式打印下列内容:
100
A
3.140000
Input
本题目没有输入数据
Output
输出三行数据:
100
A
3.140000
Sample
Output
100 A 3.140000
#include<stdio.h>
int main()
{
printf("100\nA\n3.140000");
return 0;
}
K - C语言实验——圆柱体计算
Description
已知圆柱体的底面半径r和高h,计算圆柱体底面周长和面积、圆柱体侧面积以及圆柱体体积。其中圆周率定义为3.1415926。
Input
输入数据有一行,包括2个正实数r和h,以空格分隔。
Output
输出数据一行,包括圆柱体底面周长和面积、圆柱体侧面积以及圆柱体体积,以空格分开,所有数据均保留2位小数。
Sample
Input
1 2
Output
6.28 3.14 12.57 6.28
#include<stdio.h>
#define pi 3.1415926
int main()
{
float r, h;//定义半径和高两个变量
scanf("%f %f", &r, &h);// 终端输入
printf("%.2f %.2f %.2f %.2f", 2 * r * pi, pi*r*r,2*pi*r*h,pi*r*r*h);
return 0;
}
L - C语言实验——温度转换
Description
输入一个华氏温度,输出摄氏温度,其转换公式为:C=5(F-32)/9C=5(F−32)/9
Input
输入数据只有一个实数,即华氏温度。
Output
输出数据只有一个,即摄氏温度,保留2位小数。
Sample
Input
32.0
Output
0.00
#include<stdio.h>
int main(){
double a = 0;
scanf("%lf", &a);
double c = 0;
c = 5*(a - 32) / 9;
printf("%.2lf",c);
return 0;
}
M - C语言实验——单个字符输入和输出(顺序结构)
Description
用getchar()从键盘上输入一个字符,用putchar()打印出来!
Input
从键盘上输入一个字符!
Output
把刚刚输入的字符打印出来!
Sample
Input
A
Output
A
#include<stdio.h>
int main()
{
char t; //字符的输入用char
scanf("%c", &t); //字符的输入占位符是%c
printf("%c\n", t); //字符的输出占位符是%c
return 0;
}
N - C语言实验——转换字母(顺序结构)
Description
从键盘上输入一个小写字母,然后将小写字母装换成大写字母输出!
Input
从键盘上输入一个小写字母。
Output
小写字母装换成大写字母输出。
Sample
Input
a
Output
A
#include<stdio.h>
int main()
{
char t;
scanf("%c", &t);
printf("%c", t - 'a' + 'A');//由小写换成大写
return 0;
}
O - 实数的输出和占位
Description
输入一个实数,请你按如下要求输出:
第一行按双精度默认输出,
第二行双精度数输出共占 10 位,其中 3 位小数,右对齐,左补空格并在两端添加星号包裹,
第三行双精度数输出共占 10 位,其中 3 位小数,左对齐,右补空格并在两端添加星号包裹。
Input
一个double范围内的正实数 a 。
Output
共三行,按题目描述输出。
Sample
Input
123.56789
Output
123.567890 * 123.568* *123.568 *
#include<stdio.h>
int main()
{
double a;//定义变量
scanf("%lf", &a);//double的格式化输入占位符是%lf
printf("%lf\n", a);//double的格式化输出占位符是%lf
printf("*%10.3lf*\n", a);//共占十位,三位小数所以10.3,右对齐为正
printf("*%-10.3lf*", a);//输出结果左对齐则为负的
return 0;
}
P - 大整数的输入输出
Description
输入两个 long long 范围内的整数,输出他们的和。
Input
两个 long long 范围内的整数。
Output
输出的两个大整数的和,保证结果在 long long 范围内。
Sample
Input
2222222222 3333333333
Output
5555555555
#include<stdio.h>
int main()
{
long long int a, b;
scanf("%lld", &a);//long long下占位符是%lld
scanf("%lld", &b);
printf("%lld\n", a + b);
return 0;
}
Q - 带’ 和 ”字符的输出
Description
输入一个字符,输出两行。
第一行将字符用 ' 包裹。
第二行将字符用 " 包裹。
Input
输入一个字符。
Output
按题目描述输出。
Sample
Input
A
Output
'A' "A"
#include<stdio.h>
int main()
{
char t;
scanf("%c",&t);
printf("\'%c\'\n",t);//一个/代表输出一个',其他都是和以前一样的
printf("\"%c\"\n",t);
return 0;
}
R - '%'字符的输入输出
Description
输入三个用 `` % `` 分割的正整数 a b c 代表月,日,年,
要求按照输入样式原样输出。
Input
三个int范围内的正整数,中间用 `` %`` 分割。
Output
按题目描述原样输出。
Sample
Input
9%17%2018
Output
9%17%2018
#include<stdio.h>
int main()
{
int a = 0; int b = 0; int c = 0;
scanf("%d%%%d%%%d%%",&a,&b,&c);//里面代表输入一个正整数%%代表输入%
printf("%d%%%d%%%d\n",a,b,c);//%%代表输出%
return 0;
}
S - ‘\’字符的输入输出
Description
输入三个用 `` \ `` 分割的正整数 a b c 代表日,月,年,
要求按照输入样式原样输出。
Input
三个int范围内的正整数,中间用 `` \ `` 分割。
Output
按题目描述原样输出。
Sample
Input
9\17\2018
Output
9\17\2018
#include<stdio.h>
int main()
{
int a = 0; int b = 0; int c = 0;
scanf("%d\\%d\\%d\\", &a, &b, &c);
printf("%d\\%d\\%d", a, b, c);
return 0;
}
T - 十六进制数输出和占位
Description
输入一个整数,请你按如下要求输出:
第一行按原样输出,
第二行以十六进制输出(字母小写),
第三行以十六进制输出(字母大写)。
Input
一个int范围内的正整数 a 。
Output
共三行,按题目描述输出。
Sample
Input
456
Output
456 1c8 1C8
#include<stdio.h>
int main()
{
int a;
scanf("%d", &a);
printf("%d\n%x\n%X", a, a, a);//十六进制小写用%x表示大写用%X表示
return 0;
}
U - 八进制数输出和占位
Description
输入一个整数,请你按如下要求输出:
第一行按原样输出,
第二行以八进制靠右输出,不足 8 位左补 0 并在两端添加星号包裹,
第三行以八进制靠左输出,不足 8 位右补空格并在两端添加星号包裹。
Input
一个int范围内的正整数 a 。
Output
共三行,按题目描述输出。
Sample
Input
123
Output
123 *00000173* *173 *
#include<stdio.h>
int main()
{
int a;
scanf("%d", &a);
printf("%d\n*%08o*\n*%-08o*", a, a, a);
return 0;
}
V - 十进制输入输出和其它非空格占位
Description
输入一个整数,请你按如下要求输出:
第一行按原样输出,
第二行整数靠右原样输出,不足 8 位左补 0 并在两端添加星号包裹,
第三行整数靠左原样输出,不足 8 位右补空格并在两端添加星号包裹。
Input
一个int范围内的正整数 a 。
Output
共三行,按题目描述输出。
Sample
Input
123456
Output
123456 *00123456* *123456 *
#include<stdio.h>
int main()
{
int a;
scanf("%d", &a);
printf("%d\n*%08d*\n*%-8d*", a,a,a);
/*十进制中占位符还是% d, 同样 % 0几d控制宽度同时会改变默认,
变成右对齐,带上0会用0填充,
所以后面%-8d是左对齐且控制宽度没有用0填充*/
return 0;
}
W - 十进制输入输出和空格占位
Description
输入一个整数,请你按如下要求输出:
第一行按原样输出,
第二行按原样靠右输出,不足 8 位左补空格并在两端添加星号包裹,
第三行按原样靠左输出,不足 8 位右补空格并在两端添加星号包裹。
Input
一个int范围内的正整数 a 。
Output
共三行,按题目描述输出。
Sample
Input
123456
Output
123456 * 123456* *123456 *
#include<stdio.h>
int main()
{
int a;
scanf("%d", &a);
printf("%d\n*%8d*\n*%-8d*", a, a, a);
return 0;
}
X - 字符型数据输出和占位
Description
输入一个字符,请你按如下要求输出:
第一行字符数据默认输出,
第二行字符型数据输出共占 4 位,右对齐,左补 3 个空格并在两端添加星号包裹,
第三行字符型数据输出共占 4 位,左对齐,右补 3 个空格并在两端添加星号包裹。
Input
输入一个字符 。
Output
共三行,按题目描述输出。
Sample
Input
c
Output
c * c* *c *
#include<stdio.h>
int main()
{
char a;
scanf("%c", &a);
printf("%c\n*%4c*\n*%-4c*", a, a, a);
return 0;
}