高级语言程序设计实验5_数组(完美运行版)
c语言数组实验报告

c语言数组实验报告C 语言数组实验报告一、实验目的1、深入理解 C 语言数组的概念和基本操作。
2、掌握数组的定义、初始化、遍历和访问。
3、学会使用数组解决实际问题,提高编程能力和逻辑思维能力。
二、实验环境1、操作系统:Windows 102、编译环境:Visual Studio 2019三、实验内容1、一维数组的操作定义一个包含 10 个整数的一维数组,并使用循环进行初始化。
编写程序,计算数组中所有元素的和与平均值,并输出结果。
实现对数组元素的遍历,输出每个元素的值。
2、二维数组的操作定义一个 3 行 4 列的二维整数数组,并进行初始化。
编写程序,计算二维数组中所有元素的总和。
打印出二维数组中每一行的元素值。
3、字符数组的操作定义一个字符数组,存储一个字符串。
实现字符串的输入和输出功能。
编写程序,统计字符串中字符的个数。
四、实验步骤(一)一维数组的操作1、定义并初始化一维数组```cint arr10 ={1, 2, 3, 4, 5, 6, 7, 8, 9, 10};```2、计算数组元素的和与平均值```cint sum = 0;float average;for (int i = 0; i < 10; i++){sum += arri;}average =(float)sum / 10;printf("数组元素的和为:%d\n", sum);printf("数组元素的平均值为:%2f\n", average);```3、遍历并输出数组元素```cfor (int i = 0; i < 10; i++){printf("%d ", arri);}printf("\n");```(二)二维数组的操作1、定义并初始化二维数组```cint arr234 ={{1, 2, 3, 4},{5, 6, 7, 8},{9, 10, 11, 12}};```2、计算二维数组元素的总和```cint sum2 = 0;for (int i = 0; i < 3; i++){for (int j = 0; j < 4; j++){sum2 += arr2ij;}}printf("二维数组元素的总和为:%d\n", sum2);```3、打印二维数组每一行的元素值```cfor (int i = 0; i < 3; i++){for (int j = 0; j < 4; j++){printf("%d ", arr2ij);}printf("\n");}```(三)字符数组的操作1、定义并初始化字符数组```cchar str100;```2、输入和输出字符串```cprintf("请输入一个字符串:");scanf("%s", str);printf("您输入的字符串是:%s\n", str);3、统计字符串中字符的个数```cint count = 0;for (int i = 0; stri!='\0'; i++){count++;}printf("字符串中字符的个数为:%d\n", count);```五、实验结果(一)一维数组的操作结果1、数组元素的和为:552、数组元素的平均值为:5503、数组元素的输出结果为:1 2 3 4 5 6 7 8 9 10(二)二维数组的操作结果1、二维数组元素的总和为:782、二维数组每一行的元素输出结果为:5 6 7 89 10 11 12(三)字符数组的操作结果1、输入字符串为:hello2、输出字符串为:hello3、字符串中字符的个数为:5六、实验分析(一)一维数组在对一维数组进行操作时,通过循环可以方便地对数组中的每个元素进行访问和处理。
C语言实验五实验报告——数组

C语言实验五实验报告——数组一、实验目的:1.了解数组的概念和基本使用方法;2.掌握一维数组和二维数组的定义、初始化、赋值及基本运算实现;二、实验内容与方法1.理论部分数组是一些具有相同类型的数据元素按一定顺序排列组合而成的集合,在程序设计中它是一个变量列表,由若干相同数据类型的元素组成。
通常用一个名字和一个下标来表示,下标可理解为数组元素在数组中的位置编号。
数组的特点:数组是根据顺序排列的元素的集合;所有的元素必须是相同类型。
数组的定义方法:1. 定义数组,数组元素类型 + 数组名[元素的个数];2. 元素的个数必须是整型常量或变量,定义时必须明确、指定元素的个数;3. 声明一个数组时,除了要指定数组的类型外,还要指定数组的名称;4. 数组定义完后,需要对其中的每个元素进行初始化。
可以在定义数组时赋初值,也可以通过赋值符号,对数组元素逐个进行赋值。
数组的初始化:1. 元素个数之间用逗号分开,最后1个元素后无逗号;2. 支持部分元素初始化;3. 定义和初始化可以一步完成。
二维数组数组可分为一维和多维数组。
一维数组可以看作是包含多个元素的向量,而二维数组可以看做是包含了多个一维数组的矩阵。
二维数组有行号和列号,因此,它同样需要两个下标。
数组元素类型数组名[行数][列数];数组元素类型数组名[ ][ ] = { {元素1, 元素2, ……}, {元素1, 元素2, ……}, ……{元素1, 元素2, ……}}2.实验代码**问题1:**定义一个一维数组a,包含有5个元素,分别为1,2,3,4,5;**问题2:**定义一个一维数组a,接收用户从键盘输入的5个数值,分别打印存储的各个元素。
三、实验结果与分析结果分析:定义了一个5个元素的一维数组a,并初始化了各个元素的值,其元素分别为1,2,3,4,5.循环遍历一遍数组a,并打印数组元素。
程序执行正常。
3.针对问题3:定义一个二维数组a,由4行3列组成,每个元素初始化为0,打印存储的各个元素;程序运行结果如下:四、实验总结:该实验主要是通过对C语言数组的理论知识和基本操作进行练习,加深了对数组的了解和掌握。
实验五 数组应用程序设计

实验五常用控件程序设计(4个学时)一、实验目的1.掌握单选按钮、复选按钮、框架、列表框、组合框、时钟和滚动条的属性、事件和方法。
2.明确常用内部控件的功能,熟练使用“属性”窗口设置属性。
3.掌握在常用内部控件的事件过程中编写程序代码。
二、实验内容1. 设计一个程序运用单选按钮、复选框和框架对文本框中文本的颜色、字号和效果进行设置。
要求:文本的颜色可以选择红色、绿色和蓝色。
文本的字号可以选择12、18、24号,效果可以选择删除线和下划线。
当文本框中输入文字后,单击某个按钮,文本框中的文字将按所选择的选项进行设置。
(参考上机指导P6,第一题)1)代码设计如下Private Sub Check1_Click()If Check1.V alue = 1 ThenText1.FontStrikethru = TrueElseText1.FontStrikethru = FalseEnd IfEnd SubPrivate Sub Check2_Click()If Check2.V alue = 1 ThenText1.FontUnderline = TrueElseText1.FontUnderline = FalseEnd IfEnd SubPrivate Sub Option1_Click()Text1.ForeColor = &HFF&End SubPrivate Sub Option2_Click()Text1.ForeColor = &H8000&End SubPrivate Sub Option3_Click()Text1.ForeColor = &HFF0000End SubPrivate Sub Option4_Click()Text1.FontSize = 12End SubPrivate Sub Option5_Click()Text1.FontSize = 18End SubPrivate Sub Option6_Click()Text1.FontSize = 24End Sub2)运行后的结果(将运行结果的界面截下来粘贴在下面)3)调试过程记录(错误情况及改正方法,不得少于三条)(1)对删除线2. 编写一个为组合框中添加或删除内容的程序。
高级语言实验报告

《高级语言》实验报告实验:数组程序设计目的与要求1、掌握一维数组和二维数组的定义、赋值和输入输出的方法;2、掌握字符数组和字符串函数的使用;3、掌握与数组有关的算法。
内容与步骤:1、对于输入的n个整数,先进行升序排序,然后进行二分查找。
(HLOJ 8005)@一维数组的输入:int n,a[1000];cin>>n;for(int i1=0;i1<n;i1++)cin>>a[i1];@升序:for(int i=0;i<n-1;i++){int pos=i;for(int j=i+1;j<n;j++){if(a[pos]>a[j])pos=j;}swap(a[i],a[pos]);}@二分查找及二维数组的输出:int cnt=0;for(int m=0;m<x;m++){int begin=0,end=n-1;int mid=(begin+end)/2;int t=mid;for(int k=0;k<t;k++){mid=(begin+end)/2;if(b[m]==a[mid]){if(cnt>0)cout<<””;cnt++;cout<<mid+1;break;}else if(b[m]>a[mid])begin=mid+1;elseend=mid-1;if(k>=t){if(cnt>0)cout<<””;cnt++;cout<<”0”;}}}cout<<endl;2、如果矩阵A中存在这样的一个元素A[i][j]满足下列条件:A[i][j]是第i行中值最小的元素,且又是第j列中值最大的元素,则称之为该矩阵的一个马鞍点。
编写一个程序计算出矩阵A的马鞍点的值。
(HLOJ 1208)@二维数组输入同时对每行每列的最值赋初值:int i,j,m,n,x[101][101];cin>>m>>n;int max[101],min[101];for(i=0;i<m;i++){for(j=0;j<n;j++)cin>>x[i][j];min[i]=x[i][0];max[i]=x[0][i];}@查找每行每列的最值:for(i=0;i<m;i++){for(j=0;j<n;j++){if(x[i][j]<min[i])min[i]=x[i][j];if(x[i][j]>max[j])max[j]=x[i][j];}}@判断元素x[i][j]是不是马鞍点,对马鞍点个数赋初值0:int z=0;for(i=0;i<m;i++){for(j=0;j<n;j++){if(max[i]==min[j]){cout<<min[j]<<endl;z++;} }}3、对给定的数据进行排序。
C语言实验报告数组

C语言实验报告数组实验目的:本实验旨在通过对C语言中数组的使用进行实践,加深对数组概念的理解,并掌握数组的声明、初始化和操作方法。
实验环境:操作系统:Windows 10编译器:Dev-C++ 5.11实验内容:1. 数组的声明和初始化在C语言中,数组是由相同类型的数据元素组成的集合。
声明数组时需要指定元素的类型和数组的名称,同时还可以指定数组的大小。
数组的初始化可以在声明时进行,也可以在后续的代码中进行。
示例代码:```c#include <stdio.h>int main() {int numbers[5]; // 声明一个包含5个整数的数组int i;// 初始化数组元素for (i = 0; i < 5; i++) {numbers[i] = i + 1;}// 输出数组元素for (i = 0; i < 5; i++) {printf("numbers[%d] = %d\n", i, numbers[i]);}return 0;}```2. 数组的访问和操作通过下标(索引)可以访问数组中的元素,数组的下标从0开始,依次递增。
我们可以使用循环结构遍历数组,对数组中的元素进行操作。
示例代码:```c#include <stdio.h>int main() {float temperatures[7]; // 声明一个包含7个浮点数的数组int i;// 输入一周每天的温度for (i = 0; i < 7; i++) {printf("请输入星期%d的温度:", i + 1);scanf("%f", &temperatures[i]);}// 输出一周每天的平均温度float sum = 0;for (i = 0; i < 7; i++) {sum += temperatures[i];}printf("一周的平均温度为:%.2f\n", sum / 7);return 0;}```3. 多维数组除了一维数组外,C语言还支持多维数组。
高级语言程序设计实验5_数组(完美运行版)

⾼级语⾔程序设计实验5_数组(完美运⾏版)《⾼级语⾔程序设计》实验报告实验序号:5 实验项⽬:数组附源程序清单:1. #includemain(){int a[100],b[100],x[100],i,j=0,k,l=0;printf("请输⼊数组x的个数:");scanf("%d",&k);printf("请输⼊数组x中的整数,⽤空格隔开:");for(i=0;iscanf("%d",&x[i]);for(i=0;i{if(x[i]>0){a[j]=x[i];j++;}else if(x[i]<0){b[l]=x[i];l++;printf("数组a:");for(i=0;iprintf("\t%d",a[i]);printf("\n数组b:");for(i=0;iprintf("\t%d",b[i]);printf("\n");}2.#include#includeint main(){int array[1000];int i=0, iter=0;for(i=0;i<1000;i++) array[i]=i+1;array[0]=0;iter=1;while(iter<1000){if(array[iter]!=0)for(i=iter+1;i<1000;i++) {if( array[i]%array[iter]==0) array[i]=0;}iter++;}for(i=0;i<1000;i++)if(array[i]!=0)printf("%d\t",array[i]); printf("\n");}main(){char a[100];int i,j=0;printf("输⼊⼀串测试字符:\n");scanf("%s",&a);for(i=0;i{if(!(a[i]>='0' && a[i]<='9')){a[j]=a[i];j++;}}printf("输出字符串为:%s",a);printf("\n");}4. #include#define N 10main(){int a[N]={10,2,8,22,16,4,10,6,14,20},b[N],i,j;for(j=1;;j++){for(i=9;i>0;i--){if(a[i]%2==0&&a[i-1]%2==0) b[i-1]=a[i-1]/2+a[i]/2;else if(a[i]%2==0&&a[i-1]%2!=0) b[i-1]=(a[i-1]+1)/2+a[i]/2; else b[i-1]=(a[i-1]+1)/2+(a[i]+1)/2;}if(a[0]%2==0&&a[9]%2==0) b[9]=a[9]/2+a[0]/2;else if(a[0]%2==0&&a[9]%2!=0) b[9]=(a[9]+1)/2+a[0]/2; else b[9]=(a[9]+1)/2+(a[0]+1)/2;for(i=0;i<10;i++)if(a[i]==a[i+1]) continue;else i=11;}if(i==9){printf("需要调整%d次\n",j);printf("每个⼈各有%d块糖\n",a[0]); break;}}}5. #includemain(){int n,m,k,a[2][10],i=0;printf("请输⼊第⼀个数字:\n");for(n=0;n<10;n++)scanf("%d",&a[0][n]);getchar();}printf("请输⼊第⼆个数字:\n");for(m=0;m<10;m++){scanf("%d",&a[1][m]);getchar();}for(k=0;k<10;k++){if(a[0][k]>a[1][k]){printf("第⼀个数字较⼤.\n"); break;printf("第⼆个数字较⼤.\n"); break;}else if(a[0][k]=a[1][k])i++;}if(i==9)printf("两数字相等.\n");}6. #include "stdio.h"void main(){int sum=0,a[5][5],i,j;printf("请输⼊5⾏5列矩阵数字:\n"); for(i=0;i<5;i++){for(j=0;j<5;j++){scanf("%d",&a[i][j]);}}for(i=0;i<5;i++){sum+=a[0][i];}for(i=0;i<5;i++){sum+=a[i][0];}for(i=0;i<5;i++){sum+=a[4][i];sum+=a[i][4];}sum=sum-a[0][0]-a[0][4]-a[4][0]-a[4][4]; printf("最外圈元素之和为%d\n",sum);}7. #include#include#define N 3main(){int a[N][N],i,j,k=0,score=0;srand(time(0));while(getchar()==121){i=getchar();for(i=0;i{for(j=0;j{a[i][j]=rand()%3;if(a[i][j]==0) printf("\1");else if(a[i][j]==1) printf("*");else printf("#");}printf("\n");}{for(i=0;i{if(a[i][0]==a[i][1] && a[i][1]==a[i][2]) score++; if(a[0][i]==a[1][i] && a[1][i]==a[2][i]) score++; }if(k==2) {printf("你的得分是:%d.\n",score);break; }else k++;}}8. 附加题:#include#includemain(){char a[100],b[100];char str1[100],str2[100];scanf("%s%s",str1,str2);strcpy(a,strlen(str1)strcpy(b,strlen(str1)>strlen(str2)?str1:str2); printf("a = %s\n",a);printf("b = %s\n",b);}附加2:#include"stdio.h"#define N 100main(){int a[N][N]={0},b,c,i,j;printf("请输⼊3到39间的奇数:\n");scanf("%d",&c);if(0{b=c/2;for(i=0;i{for(j=0;jif (i-j==b) a[i][j]=1;if (j-i==b) a[i][j]=1;if (i+j==b*3) a[i][j]=1;}}for(i=0;i{for(j=0;j{printf("%d ",a[i][j]);}printf("\n");}}else printf("错误输⼊,请输⼊3到39间的奇数。
C语言实验五实验报告——数组

C语言实验五实验报告——数组实验五:数组实验目的:1.掌握数组的定义和使用;2.熟悉数组在函数中的传递;3.练习编写使用数组的程序。
实验原理:数组是一组相同类型的变量的集合,这些变量称为数组的元素。
数组的名字是一个指针常量,它存放的是数组首个元素的地址。
数组元素在内存中是连续存放的,可以通过下标访问每一个元素。
数组的定义:数组的定义格式为:数据类型数组名[数组长度];数组的初始化:数组可以在定义时进行初始化,也可以在定义之后通过赋值进行初始化。
数组作为函数参数:数组可以作为函数的形参进行传递,可以通过指针传递整个数组,也可以传递数组的部分元素。
实验步骤:1.编写一个程序,实现对学生成绩的管理。
要求如下:-使用一个数组保存学生的成绩;-能够动态添加学生的成绩,并显示添加成功的信息;-能够计算学生的平均成绩,并显示;-能够根据用户输入的学号查找对应学生的成绩,并显示。
2.编写一个程序,实现对一组整数进行排序。
要求如下:-首先自定义一个整数数组,数组元素个数为用户输入;-编写一个函数,实现对数组进行排序,要求使用选择排序算法;-在主函数中调用该函数,对数组进行排序后显示。
实验结果与分析:1.学生成绩管理程序运行结果如下:```-------学生成绩管理系统-------[1]添加学生成绩[2]计算平均成绩[3]查找学生成绩[4]退出系统请输入选项:1请输入成绩:90添加成功![1]添加学生成绩[2]计算平均成绩[3]查找学生成绩[4]退出系统请输入选项:1请输入成绩:85添加成功![1]添加学生成绩[2]计算平均成绩[3]查找学生成绩[4]退出系统请输入选项:2平均成绩为:87.5[1]添加学生成绩[2]计算平均成绩[3]查找学生成绩[4]退出系统请输入选项:3 [1]添加学生成绩[2]计算平均成绩[3]查找学生成绩[4]退出系统请输入选项:4退出系统。
```2.整数排序程序运行结果如下:```-------整数排序-------请输入待排序的整数个数:6请输入第1个整数:5请输入第2个整数:3请输入第3个整数:9请输入第4个整数:2请输入第5个整数:7请输入第6个整数:1排序前的整数序列为:539271排序后的整数序列为:123579 ```实验总结:通过本次实验,我深入理解了数组的原理和用法,并且掌握了数组在函数中的传递。
c语言实验五数组

实验五数组
实验目的:
1、熟练掌握一维数组、二维数组的定义、赋值和输入输出方法;
2、熟练掌握字符数组和字符串函数的使用;
3、掌握与数组有关的常用算法(如查找、排序等)。
实验内容:
1. 实现用选择法对n个整数的排序,按从小到大的顺序。
2.有n个整数,使其前面各数顺序向后移动m(m<=n)个位置,最后的m个数变成最前面的m个数,且移动的元素之间的相对位置不变。
3. 编程实现:输入4行5列的矩阵,输出其中最大的那个元素的值,以及其所在的行号和列号。
4. 编写一个程序,将一个3*4的矩阵转置。
5. 编程实现:输入一行文字,求出其中大写字母、小写字母、空格、数字及其他字符各有
多少。
6. 编写一程序,将两个字符串连接起来,要求不用strcat函数。
7.译密码。
为使电文保密,往往按照一定规律将其转换成密码,收报人再按约定的规律将其译回原文。
一种明文向密文转换的规则是:将字母A变成F,a变成f,即变成其后的5个字母,W变成B,X变成C,Y变成D,Z变成E。
例如,”China”变成了”Hmnsf”,请编写程序实现上述的加密功能。
(很多实验内容都是书上的,请参看书上程序,但一定要自己看懂,不要只抄袭)。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《高级语言程序设计》实验报告实验序号:5 实验项目:数组附源程序清单:1. #include <stdio.h>main(){int a[100],b[100],x[100],i,j=0,k,l=0;printf("请输入数组x的个数:");scanf("%d",&k);printf("请输入数组x中的整数,用空格隔开:");for(i=0;i<k;i++)scanf("%d",&x[i]);for(i=0;i<k;i++){if(x[i]>0){a[j]=x[i];j++;}else if(x[i]<0){b[l]=x[i];l++;}}printf("数组a:");for(i=0;i<j;i++)printf("\t%d",a[i]);printf("\n数组b:");for(i=0;i<l;i++)printf("\t%d",b[i]);printf("\n");}2.#include <stdio.h>#include <stdlib.h>int main(){int array[1000];int i=0, iter=0;for(i=0;i<1000;i++)array[i]=i+1;array[0]=0;iter=1;while(iter<1000){if(array[iter]!=0)for(i=iter+1;i<1000;i++){if( array[i]%array[iter]==0)array[i]=0;}iter++;}for(i=0;i<1000;i++)if(array[i]!=0)printf("%d\t",array[i]);printf("\n");}3.#include"stdio.h"#include"string.h"main(){char a[100];int i,j=0;printf("输入一串测试字符:\n");scanf("%s",&a);for(i=0;i<strlen(a);i++){if(!(a[i]>='0' && a[i]<='9')){a[j]=a[i];j++;}}printf("输出字符串为:%s",a);printf("\n");}4. #include <stdio.h>#define N 10main(){int a[N]={10,2,8,22,16,4,10,6,14,20},b[N],i,j;for(j=1;;j++){for(i=9;i>0;i--){if(a[i]%2==0&&a[i-1]%2==0) b[i-1]=a[i-1]/2+a[i]/2;else if(a[i]%2==0&&a[i-1]%2!=0) b[i-1]=(a[i-1]+1)/2+a[i]/2;else b[i-1]=(a[i-1]+1)/2+(a[i]+1)/2;}if(a[0]%2==0&&a[9]%2==0) b[9]=a[9]/2+a[0]/2;else if(a[0]%2==0&&a[9]%2!=0) b[9]=(a[9]+1)/2+a[0]/2;else b[9]=(a[9]+1)/2+(a[0]+1)/2;for(i=0;i<10;i++)a[i]=b[i];for(i=0;i<9;i++){if(a[i]==a[i+1]) continue;else i=11;}if(i==9){printf("需要调整%d次\n",j);printf("每个人各有%d块糖\n",a[0]);break;}}}5. #include <stdio.h>main(){int n,m,k,a[2][10],i=0;printf("请输入第一个数字:\n");for(n=0;n<10;n++)scanf("%d",&a[0][n]);getchar();}printf("请输入第二个数字:\n");for(m=0;m<10;m++){scanf("%d",&a[1][m]);getchar();}for(k=0;k<10;k++){if(a[0][k]>a[1][k]){printf("第一个数字较大.\n");break;}else if(a[0][k]<a[1][k]){printf("第二个数字较大.\n");break;}else if(a[0][k]=a[1][k])i++;}if(i==9)printf("两数字相等.\n");}6. #include "stdio.h"void main(){int sum=0,a[5][5],i,j;printf("请输入5行5列矩阵数字:\n");for(i=0;i<5;i++){for(j=0;j<5;j++){scanf("%d",&a[i][j]);}}for(i=0;i<5;i++){sum+=a[0][i];}for(i=0;i<5;i++){sum+=a[i][0];}for(i=0;i<5;i++){sum+=a[4][i];}for(i=0;i<5;i++){sum+=a[i][4];}sum=sum-a[0][0]-a[0][4]-a[4][0]-a[4][4];printf("最外圈元素之和为%d\n",sum);}7. #include<stdio.h>#include<stdlib.h>#define N 3main(){int a[N][N],i,j,k=0,score=0;srand(time(0));while(getchar()==121){i=getchar();for(i=0;i<N;i++){for(j=0;j<N;j++){a[i][j]=rand()%3;if(a[i][j]==0) printf("\1");else if(a[i][j]==1) printf("*");else printf("#");}printf("\n");}{for(i=0;i<N;i++){if(a[i][0]==a[i][1] && a[i][1]==a[i][2]) score++;if(a[0][i]==a[1][i] && a[1][i]==a[2][i]) score++;}if(a[0][0]==a[1][1] && a[1][1]==a[2][2]) score++;if(a[0][2]==a[1][1] && a[1][1]==a[2][0]) score++;}if(k==2) {printf("你的得分是:%d.\n",score);break;}else k++;}}8. 附加题:#include<stdio.h>#include<string.h>main(){char a[100],b[100];char str1[100],str2[100];scanf("%s%s",str1,str2);strcpy(a,strlen(str1)<strlen(str2)?str1:str2);strcpy(b,strlen(str1)>strlen(str2)?str1:str2);printf("a = %s\n",a);printf("b = %s\n",b);}附加2:#include"stdio.h"#define N 100main(){int a[N][N]={0},b,c,i,j;printf("请输入3到39间的奇数:\n");scanf("%d",&c);if(0<c<39 && c%2==1){b=c/2;for(i=0;i<c;i++){for(j=0;j<c;j++){if (i+j==b) a[i][j]=1;if (i-j==b) a[i][j]=1;if (j-i==b) a[i][j]=1;if (i+j==b*3) a[i][j]=1;}}for(i=0;i<c;i++){for(j=0;j<c;j++){printf("%d ",a[i][j]);}printf("\n");}}else printf("错误输入,请输入3到39间的奇数。
\n"); }。