使用C语言编写一个由#和*组成的9*9的米字型二维数组
时间: 2023-06-09 15:08:47 浏览: 49
10个整数组成的数组,并按照从大到小的顺序输出数组的值。
可以使用以下代码实现:
```
#include <stdio.h>
int main() {
int arr[10] = {5, 9, 2, 8, 10, 3, 7, 1, 6, 4}; // 定义一个包含10个整数的数组
//从大到小排序
for(int i = 0; i < 9; i++) {
for(int j = i + 1; j < 10; j++) {
if(arr[i] < arr[j]) {
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
}
// 输出数组
printf("数组值从大到小依次是:\n");
for(int i = 0; i < 10; i++) {
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}
```
运行结果:
```
数组值从大到小依次是:
10 9 8 7 6 5 4 3 2 1
```
相关问题
在vc++6.0 使用c语言编写米字型的二维数组
好的,没问题!为了实现米字型的二维数组,你需要按照以下步骤进行编写:
1. 定义一个二维数组arr[row][col],其中row和col表示数组的行数和列数,假设row和col的值都为5。
2. 使用for循环进行数组的初始化。具体来说,你可以定义一个变量num,初始值为1,在每个元素处都将其初始化为num,并且每次循环num加1。需要注意的是,当数组的索引i和j满足以下条件时,不进行初始化:
- 当i小于j时,并且i+j不等于row-1
- 当i大于j时,并且i+j不等于col-1
- 当i等于j时
这些条件可以保证数组中间的元素不会被初始化。
3. 在初始化完数组后,你可以通过两个for循环逐行打印出数组的值。具体来说,你需要使用一个if-else语句进行条件判断,当i等于j或者i+j等于row-1或col-1时,打印出数组元素的值,否则打印一个空格。
下面是完整的c语言代码示例:
```c
#include <stdio.h>
int main() {
int arr[5][5];
int num = 1;
int i, j;
for(i = 0; i < 5; i++) {
for(j = 0; j < 5; j++) {
if((i < j && i+j != 4) || (i > j && i+j != 6) || i == j) {
continue;
}
arr[i][j] = num++;
}
}
for(i = 0; i < 5; i++) {
for(j = 0; j < 5; j++) {
if(i == j || i + j == 4 || i + j == 8) {
printf("%d ", arr[i][j]);
} else {
printf(" ");
}
}
printf("\n");
}
return 0;
}
```
不知道是否满足你的需求呢?
用c语言编写一个二维数组
以下是一个用C语言编写的二维数组的例子:
```c
#include <stdio.h>
int main() {
int m, n;
printf("请输入二维数组的行数和列数,用逗号隔开:");
scanf("%d,%d", &m, &n);
int a[m][n]; // 定义一个m行n列的二维数组
printf("请输入二维数组的元素,按行输入,每个元素之间用空格隔开:\n");
for (int i = 0; i < m; i++) {
for (int j = 0; j < n; j++) {
scanf("%d", &a[i][j]); // 逐个输入二维数组的元素
}
}
printf("您输入的二维数组为:\n");
for (int i = 0; i < m; i++) {
for (int j = 0; j < n; j++) {
printf("%d ", a[i][j]); // 逐个输出二维数组的元素
}
printf("\n"); // 每行输出完后换行
}
return 0;
}
```