c语言使用二维数组计算多个点之间的距离代码
时间: 2023-05-31 08:08:06 浏览: 89
请参考以下代码:
```
#include <stdio.h>
#include <math.h>
int main() {
int n; // 点的个数
scanf("%d", &n);
int points[n][2]; // 二维数组存储点的坐标
// 输入每个点的坐标
for (int i = 0; i < n; i++) {
scanf("%d %d", &points[i][0], &points[i][1]);
}
// 计算每两个点之间的距离
for (int i = 0; i < n-1; i++) {
for (int j = i+1; j < n; j++) {
double distance = sqrt(pow(points[i][0]-points[j][0], 2) + pow(points[i][1]-points[j][1], 2));
printf("The distance between point %d and point %d is %lf\n", i, j, distance);
}
}
return 0;
}
```
注意:此代码并未添加输入数据的检查,建议在实际使用时添加。
相关问题
C语言使用二位数组存储2个城市1周的气温
可以使用二维数组来存储两个城市一周的气温数据。假设需要存储7天内每天的最高气温和最低气温,可以定义一个6行2列的二维数组,其中每一行表示一天的数据,每一列分别表示两个城市的数据。代码如下:
```c
#include <stdio.h>
int main() {
int temperature[6][2]; // 定义二维数组存储气温数据
// 输入数据
for (int i = 0; i < 6; i++) {
printf("输入第%d天的气温数据(城市1 城市2):", i + 1);
scanf("%d %d", &temperature[i][0], &temperature[i][1]);
}
// 输出数据
printf("\n城市1 城市2\n");
for (int i = 0; i < 6; i++) {
printf("%d℃ %d℃\n", temperature[i][0], temperature[i][1]);
}
return 0;
}
```
需要注意的是,二维数组的下标从0开始,因此定义数组大小时需要根据实际需要减1。同时,输入输出数据时也需要注意下标的范围。以上代码只是一个简单的例子,实际应用中可能需要更多的数据处理和计算。
c语言多个字符串怎么输入到二维数组中
您可以使用循环,逐个输入多个字符串并将它们存储到二维数组中。以下是示例代码:
```c
#include <stdio.h>
#include <string.h>
#define MAX_STR_LEN 100
#define MAX_NUM_STR 10
int main() {
char str[MAX_NUM_STR][MAX_STR_LEN];
int i;
for (i = 0; i < MAX_NUM_STR; i++) {
printf("Enter string %d: ", i+1);
fgets(str[i], MAX_STR_LEN, stdin);
str[i][strlen(str[i])-1] = '\0'; // Remove newline character
}
printf("\n");
for (i = 0; i < MAX_NUM_STR; i++) {
printf("String %d: %s\n", i+1, str[i]);
}
return 0;
}
```
该程序定义了一个大小为10x100的字符数组,存储10个字符串,每个字符串最多可以包含99个字符(不包括空字符)。使用`fgets()`函数逐个输入每个字符串,并使用`strlen()`函数计算字符串的长度,然后使用`\0`字符(空字符)替换掉`\n`(换行符)字符。最后,使用循环按顺序打印出每个字符串。