一、示例
二、代码如下
#include <stdio.h> #include <stdlib.h> #define MAX 26 //输出图形 void Print(char matrix[MAX][MAX],int n,int m) { int i,j; for(i=0;i<n;i++) { for(j=0;j<m;j++) { printf("%c",matrix[i][j]); } printf("\n"); } } //实现字母图形 void Draw(int n,int m) { int i,j; int point=0; char str; char matrix[MAX][MAX]; for(i=0;i<n;i++) { str='A'; for(j=i;j<m;j++) { matrix[i][j]=str++; } //后半部分,第n行n列数都为A,往后递增 str='A'; for(j=i-1;j>=0;j--) { matrix[i][j]=++str; } //前半部分,倒着排序 } Print(matrix,n,m); } int main() { int n,m; scanf("%d%d",&n,&m); Draw(n,m); return 0; }
上面是例题的代码,下面我将给出平常一个简单的示例
我们将输出由星号(*)组成的一个矩形图形:
#include <stdio.h> int main() { int n, m, i, j; // 获取用户输入的行数和列数 printf("Enter the number of rows: "); scanf("%d", &n); printf("Enter the number of columns: "); scanf("%d", &m); // 使用嵌套循环输出n行m列的图形 for(i = 0; i < n; i++) { // 外循环控制行数 for(j = 0; j < m; j++) { // 内循环控制列数 printf("* "); // 输出一个星号和空格,构成图形的一部分 } printf("\n"); // 每输出完一行后换行 } return 0; }
在这段代码中,我们首先使用scanf
函数从用户那里获取行数(n
)和列数(m
)。
然后,通过两个嵌套的for
循环来控制行和列的打印。
外层循环控制行数,内层循环控制列数。
在内层循环中,我们打印一个星号和一个空格来构成图形的一部分。
每打印完一行的星号后,在外层循环中使用printf("\n")
来换行。
当你运行这个程序时,它会要求你输入行数和列数,然后会打印出相应大小的由星号组成的矩形图形。
总结
在C语言中,处理字符串长度、查找二维数组的最小值,以及输出特定行列数的图形,都是基础而重要的操作。
下面是对这些操作的简要总结:
1. **计算字符串长度**
- 使用`strlen`函数可以计算字符串的长度,这个函数在`string.h`头文件中定义。
- `strlen`函数以字符串的终止符`'\0'`作为结束标志,返回从起始位置到终止符之前的字符数量。
2. **查找二维数组的最小值**
- 要在二维数组中查找最小值,可以通过双重循环遍历数组的每个元素。
- 假设数组的第一个元素为最小值,然后逐个与其他元素比较,如有更小值则更新最小值。
3. **输出一个n行m列的图形**
- 使用嵌套循环(一个控制行,另一个控制列)可以输出一个指定大小的图形。
- 通过用户输入获取行数(`n`)和列数(`m`),然后根据这些值使用循环来控制图形的输出。
这些操作展示了C语言处理数据结构和用户输入的能力,以及如何使用循环和条件判断来实现基本的控制流程。
掌握这些基础知识对于理解更复杂的编程概念和构建更复杂的程序至关重要。
以上为个人经验,希望能给大家一个参考,也希望大家多多支持。