c语言输出数组用逗号隔开
时间: 2023-10-30 12:20:12 浏览: 189
在 C 语言中,可以使用循环语句和格式控制符来输出数组并用逗号隔开。下面是一个示例代码:
```c
#include <stdio.h>
int main() {
int arr[] = {1, 2, 3, 4, 5};
int n = sizeof(arr) / sizeof(arr[0]);
int i;
for (i = 0; i < n - 1; i++) {
printf("%d, ", arr[i]);
}
printf("%d", arr[n - 1]);
return 0;
}
```
在上面的代码中,我们首先定义了一个整数类型的数组 `arr`,然后使用 `sizeof` 运算符计算出数组中元素的个数 `n`。接着使用 `for` 循环遍历数组中的元素,从第一个元素开始,依次输出每个元素并在后面加上逗号和空格。最后再单独输出数组中的最后一个元素,不需要加上逗号和空格。运行上面的代码,输出结果为:
```
1, 2, 3, 4, 5
```
相关问题
windwos C语言实现将以逗号隔开的数据,转换成json格式
实现步骤如下:
1. 定义一个结构体,用来保存数据。假设数据有两个字段,分别为name和age。
```c
typedef struct {
char name[20];
int age;
} Person;
```
2. 读取以逗号隔开的数据,并将其保存到Person结构体数组中。
```c
Person persons[10];
int count = 0;
char buffer[1024];
fgets(buffer, 1024, stdin); // 从标准输入读取数据
char *token = strtok(buffer, ",");
while (token != NULL) {
sscanf(token, "%[^:]:%d", persons[count].name, &persons[count].age); // 解析数据
count++;
token = strtok(NULL, ",");
}
```
3. 将数据转换成json格式。
```c
printf("[\n");
for (int i = 0; i < count; i++) {
printf(" {\n");
printf(" \"name\": \"%s\",\n", persons[i].name);
printf(" \"age\": %d\n", persons[i].age);
if (i == count - 1) {
printf(" }\n");
} else {
printf(" },\n");
}
}
printf("]\n");
```
完整代码如下:
```c
#include <stdio.h>
#include <string.h>
typedef struct {
char name[20];
int age;
} Person;
int main() {
Person persons[10];
int count = 0;
char buffer[1024];
fgets(buffer, 1024, stdin); // 从标准输入读取数据
char *token = strtok(buffer, ",");
while (token != NULL) {
sscanf(token, "%[^:]:%d", persons[count].name, &persons[count].age); // 解析数据
count++;
token = strtok(NULL, ",");
}
printf("[\n");
for (int i = 0; i < count; i++) {
printf(" {\n");
printf(" \"name\": \"%s\",\n", persons[i].name);
printf(" \"age\": %d\n", persons[i].age);
if (i == count - 1) {
printf(" }\n");
} else {
printf(" },\n");
}
}
printf("]\n");
return 0;
}
```
示例输入:
```
Tom:18,Jerry:20,Bob:25
```
示例输出:
```json
[
{
"name": "Tom",
"age": 18
},
{
"name": "Jerry",
"age": 20
},
{
"name": "Bob",
"age": 25
}
]
```
用C语言数组编程读入10个整数存入数组中,正序输出后,将数组元素逆序重置后再输出,每两个数之间用逗号隔开
以下是使用C语言实现读入10个整数存入数组、正序输出、逆序输出的代码:
```
#include <stdio.h>
#define SIZE 10
int main() {
int arr[SIZE], i;
// 读入10个整数存入数组中
for (i = 0; i < SIZE; i++) {
printf("请输入第%d个整数:", i + 1);
scanf("%d", &arr[i]);
}
// 正序输出数组元素
printf("正序输出:");
for (i = 0; i < SIZE; i++) {
printf("%d", arr[i]);
if (i != SIZE - 1) {
printf(",");
}
}
printf("\n");
// 将数组元素逆序重置
for (i = 0; i < SIZE / 2; i++) {
int temp = arr[i];
arr[i] = arr[SIZE - i - 1];
arr[SIZE - i - 1] = temp;
}
// 逆序输出数组元素
printf("逆序输出:");
for (i = 0; i < SIZE; i++) {
printf("%d", arr[i]);
if (i != SIZE - 1) {
printf(",");
}
}
printf("\n");
return 0;
}
```
运行结果如下:
```
请输入第1个整数:1
请输入第2个整数:2
请输入第3个整数:3
请输入第4个整数:4
请输入第5个整数:5
请输入第6个整数:6
请输入第7个整数:7
请输入第8个整数:8
请输入第9个整数:9
请输入第10个整数:10
正序输出:1,2,3,4,5,6,7,8,9,10
逆序输出:10,9,8,7,6,5,4,3,2,1
```