声明以下是我在用C语言刷题时的代码,如涉及侵权马上删除文章
声明:本文主要用作技术分享,所有内容仅供参考。任何使用或依赖于本文信息所造成的法律后果均与本人无关。请读者自行判断风险,并遵循相关法律法规。
2000
输入三个字符后,按各字符的ASCII码从小到大的顺序输出这三个字符。
Input:输入数据有多组,每组占一行,有三个字符组成,之间无空格。
Output:对于每组输入数据,输出一行,字符中间用一个空格分开。
Sample Input:qwe asd zxc
Sample Output:e q w a d s c x z
代码:
#include <stdio.h>
int main() {
char str[4]; // 存放三个字符和一个结束符
// 使用循环来处理多组输入
while (scanf("%s", str) != EOF) {
// 由于输入的字符串已经以字符数组的形式存储,我们可以直接使用字符串比较函数
// 或者使用qsort等排序函数,但为了简单起见,这里我们使用简单的冒泡排序
char temp;
for (int i = 0; i < 2; i++) { // 只需要两次遍历,因为只有三个元素
for (int j = 0; j < 2 - i; j++) {
if (str[j] > str[j + 1]) {
// 交换字符
temp = str[j];
str[j] = str[j + 1];
str[j + 1] = temp;
}
}
}
// 输出排序后的字符,字符之间用一个空格隔开
printf("%c %c %c\n", str[0], str[1], str[2]);
}
return 0;
}
2001输入两点坐标(X1,Y1),(X2,Y2),计算并输出两点间的距离。
Input:输入数据有多组,每组占一行,由4个实数组成,分别表示x1,y1,x2,y2,数据之间用空格隔开。
Output:对于每组输入数据,输出一行,结果保留两位小数。
Sample Input;0 0 0 1 0 1 1 0
Sample Output:1.00 1.41
代码:
#include <stdio.h>
#include <math.h>
int main() {
double x1, y1, x2, y2;
double distance;
// 使用循环来处理多组输入
while (scanf("%lf %lf %lf %lf", &x1, &y1, &x2, &y2) != EOF) {
// 计算两点间的距离
distance = sqrt(pow(x2 - x1, 2) + pow(y2 - y1, 2));
// 输出结果,保留两位小数
printf("%.2f\n", distance);
}
return 0;
}
2002根据输入的半径值,计算球的体积。
Input:输入数据有多组,每组占一行,每行包括一个实数,表示球的半径。
Output:输出对应的球的体积,对于每组输入数据,输出一行,计算结果保留三位小数。
Sample Input:1 1.5
Sample Output:4.189 14.137
Hint: #define PI 3.1415927
代码:
#include <stdio.h> // 包含标准输入输出头文件
#define PI 3.1415927 // 定义常量 PI 表示圆周率
int main() { // 主函数,程序的入口
double radius; // 定义一个双精度浮点数 radius 用于存储球的半径
while (scanf("%lf", &radius)!= EOF) { // 当从标准输入读取半径的值不为文件结束标志时,执行循环
double volume = (4.0 / 3.0) * PI * radius * radius * radius; // 计算球的体积
printf("%.3f\n", volume); // 以保留三位小数的格式输出体积,并换行
}
return 0; // 主函数正常返回 0
}
2003
Problem Description:求实数的绝对值。
Input:输入数据有多组,每组占一行,每行包含一个实数。
Output:对于每组输入数据,输出它的绝对值,要求每组数据输出一行,结果保留两位小数。
Sample Input:123 -234.00
Sample Output:123.00 234.00
代码:
#include <stdio.h> // 包含标准输入输出头文件
#include <math.h> // 包含数学函数库
int main() { // 主函数,程序执行的起点
double number; // 定义一个双精度浮点数用于存储输入的值
while (scanf("%lf", &number)!= EOF) { // 不断从标准输入读取双精度浮点数,直到遇到文件结束标志
printf("%.2f\n", fabs(number)); // 输出该数的绝对值,保留两位小数并换行
}
return 0; // 主函数正常结束返回 0
}