需要编写数组部分的程序(参考答案)
1、使用选择方法、冒泡方法对10个数字进行排序,并输出排序前后的序列。
//选择方法
#include
Void main()
Int a [10]={12,45,7,8,96,4,10,48,2,46},n=10,I,j,t,temp
printf(' Before sort : ');
for(I=0);I10I))
Printf('M ',a[I]);
}
printf(“\ n”);
//排序
for(I=0);i9;I))
t=I;
for(j=I 1;J10j))
If(a[t]a[j])
t=j;
}
}
If(t)!=i)
temp=a[I];
a[I]=a[t];a[t]=temp;
}
}
printf(' Aftere sorted : ');
for(I=0);I10I))
Printf('M ',a[I]);
}
printf(“\ n”);
}
//气泡法
#include
Void main()
Int a [10]={12,45,7,8,96,4,10,48,2,46},n=10,I,j,t;
printf(“before sort :”);
for(I=0);I10I))
Printf('M ',a[I]);
}
prtintf(“\ n”);
//排序
for(I=0);I=n-1;I))
for(j=0);ja[j 1]){ t=a[j];a[j]=a[j 1];a[j 1]=t;}
}
printf(“aftere sorted :”);
for(I=0);I10I))
Printf('M ',a[I]);
}
prtintf(“\ n”);
}
2,已知数组a的元素按从小到大的顺序排列,下一个程序的功能是将输入的数字之一插入数组a,插入后数组a的元素仍然按从小到大的顺序排列。
#include
Void main()
Int a[10]={0,12,17,20,25,28,30 };/*a[0]是工作单位,从a[1]开始保存数据*/
Int x、I、j=6;/*j表示元素数*/
printf(' Enter a number : ');
scanf(“% d”,x);
a[0]=x;
I=j;/*以最后一个单位开始*/
While(a[i]x)
a[I 1]=a[I];I-;/*将大于x的数字向后移动一个位置*/
}
a[I]=x;
j;/*插入x后元素总数增加*/
for(I=1);I=j;I))
Printf(' ',a[I]);
printf(“\ n”);
}
3,(标题上传)编号为1,2,3,n人顺时针坐在周围。如果报告从1开始顺时针方向从1开始顺时针方向从1开始到m,请选择正整数,最大值为m。申报m的人继续,直到他顺时针从下一个人开始,再从1开始,直到所有人都出来。设计程序输出列顺序。
#include
#define nmax 50
Void main()
Int i,k,m,n,t,num[nmax];
printf(' please input the total of numbers : ');
scanf(“% d”,n);
printf(' please input the upper bound of numbers 3360 ');
scanf(“% d”,m);
for(I=0);I
#include
Void main()
Int i,j,a[6][6];
for(I=0);I=5;I))
a[I][I]=1;
a[I][0]=1;
}
for(I=2;I=5;I))
for(j=1);j=I-1;j))
a[I][j]=a[I-1][j]a[I-1][j-1];
}
}
for(I=0);I=5;I))
for(j=0);j=I;j))
Printf('M ',a[I][j]);
}
printf(“\ n”);
}
}
5、编写将以下数据输入二维数组的程序。
25367813
12268893
75182232
56443658
然后:
输出矩阵的两个对角数;
分别输出行和列的和。
交换第一行和第三行的位置。
交换第二列和第四列的位置。
输出处理安排。
#include
#define SIZE 4
Void main()
Int a [size] [size]={{25,36,78,13},{12,26,88,93},{75,18,22,
Int i、j、t、sum
//汇出2d阵列
printf(' 2d array : \ n ');
for(I=0);I
Void main()
Int a [5] [5]={{5,6,7,8,9},{4,5,6,7,8},{3,4,5,2
Int i、j、col、row、Min、Max
for(I=0);i5;I))
min=a[I][0];col=0;
for(j=0);j5;j))
If(弥那[I] [j])
min=a[I][j];
col=j;
}
}
max=a[0][col];row=0;
for(j=0);j5;j))
If(Max
#define N 5 //表示学生数
#define M 5 //表示课程数
Void main()
Int scores [n] [m]={{78,89,90,76,65},{86,79,98,74,95},{78,}
{92,79,98,74,95},{69,94,85,67,56 } };
Int i、j、sum
//输入学生成绩
/*
for(I=0);I
#include
Void main()
{ char s[100];
Int i、j、n;
Printf('输入字符串:\ n ');
gets(s);
n=strlen(s);
For(i=0,j=n-1;I=j) printf('是回文字符串。\ n ');
Else printf('不是回文字符串。\ n ');
}
写入程序实现,从字符数组s中删除存储在9,c中的字符。
#include
#include
Void main()
{char s[80],c;
Int j,k;
printf(' \ nEnter a string : ');
gets(s);
printf(“\ nEnter a character :”);
c=getchar();
for(j=k=0;S[j]!=\ 0;j))
更多推荐
判断数组函数 c语言程序设计,C语言必背的典型程序设计题目 - 数组、函数-------参考答案...
发布评论