实验 6 数组1
2013-10-28 09:15
78 查看
/*输入n个整数,将它们存入数组a中。输出最大值和它所对应的下标*/ #include<stdio.h> int main(void) { int max(int x,int y); /*函数声明*/ int a[10],m,n,i; printf("输入10个数字:"); for(i=0;i<10;i++) /*输入10个数给a[0]~a[10]*/ scanf_s("%d",&a[i]); printf("\n"); for(i=1,m=a[0],n=0;i<10;i++) { if(max(m,a[i])>m) /*若max函数返回值大大于m*/ { m=max(m,a[i]); /*max函数返回的值取代m原值*/ n=i; /*把此数组元素的序号记下来,放在n中*/ } } printf("最大数是:%d\n标号为:%d\n",m,n); } int max(int x,int y) /*定义max函数*/ { return(x>y? x:y); /*返回x和y中的大者*/ }
2、输入n个整数,存入数组a中,分别按正序和逆序输出这些数;
/* 分别按正序和逆序输出n个整数 */ #include<stdio.h> int main(void) { int n,a[10],i; //定义一个整型数组 printf("输入n:"); scanf_s("%d\n",&n); for(i=0;i<n;i++){ //把n的值,赋给a[i] scanf_s("%d",&a[i]); } printf("正序输出一维数组a\n"); //正序输出数组结果 for(i=0;i<n;i++){ printf("数组元素a[%d],元素值%6d\n",i,a[i]); } printf("\n"); printf("逆序输出一维数组a\n"); //逆序输出 for(i=n-1;i>=0;i--){ printf("数组元素a[%d],元素值%6d\n",i,a[i]); } return 0; }
3、定义一维数组arr,他有5个双精度浮点型元素,任意输入5个后,用冒泡排序法,由大到小排序并输出:
/* 用冒泡排序法,由大到小排序并输出数字 */ #include<stdio.h> int main(void) { int i,j; double f[5]; //定义浮点型数组 double t; printf("请输入5个实数:\n"); //赋值 for(i=0;i<5;i++){ scanf_s("%Lf",&f[i]); } printf("\n"); for(j=0;j<5;j++) //冒泡法,即进行4次循环,其中每个元素循环i-j次 for(i=0;i<5-j;i++) if(f[i]<f[i+1]){ //若第i项小于后一项,则两项调转位置 t=f[i+1];f[i+1]=f[i];f[i]=t; } printf("由大到小排序后:\n"); for(i=0;i<5;i++) { //输出排列后的结果 printf("%Lf",f[i]); printf("\n"); } return 0; }
4、设计一个程序,利用二维数组输出3x2矩阵
/* 利用二维数组输出3x2矩阵 */ #include<stdio.h> int main(void) { int i,n; int a[3][2]; //定义一个二维数组 printf("enter a:"); //由行到列赋值 for(i=0;i<3;i++){ for(n=0;n<2;n++){ scanf_s("%d",&a[i] ); } } for(i=0;i<3;i++){ //输出矩阵 for(n=0;n<2;n++){ printf("%6d",a[i] ); } printf("\n"); } return 0; }
5、定义一个3×3的整形二维数组arr,为数组各元素赋值,找出最小值以及它的行下标和列下标,并输出该矩阵
/* 定义一个3×3的整形二维数组arr,为数组各元素赋值,找出最小值以及它的行下标和列下标,并输出该矩阵 */ #include<stdio.h> int main(void) { int i,n; int a[3][3]; //定义一个3*的整型二维数组 printf("enter a:\n"); //为该数组赋值 for(i=0;i<3;i++){ for(n=0;n<3;n++){ scanf_s("%d",&a[i] ); } } printf("输入数组为:\n"); for(i=0;i<3;i++){ for(n=0;n<3;n++){ printf("%6d",a[i] ); } printf("\n"); } int row=0,colum=0,min; // 定义整型变量row=行,colum=列,min为最小值 min=a[0][0]; //首先认为a[0][0]为最小 for(i=0;i<3;i++) for(n=0;n<3;n++) if(a[i] <min){ //如果某元素小于a[0][0] min=a[i] ; //记下它的行号和列号,使它成为新的最小值 row=i; colum=n; } printf("第%d行第%d列最小值是%d",row+1,colum+1,min); //由于数组是从0开始计数,所以要使它的行和列数加一 printf("\n"); return 0; }
相关文章推荐
- 顺序栈的测试实验《两栈共享一个数组空间》
- 实验10指针2(1)输入一个字符串和一个正整数x,将该字符串中的后x个字符复制到另一个字符串y中,输出字符串y;再对y串的内容前后倒置后存入数组z中并输出。
- C++上机实验六——数组合并
- 《数据结构》实验4:字符串和多维数组 实验
- 数据结构实验图论一:基于邻接矩阵的广度优先搜索遍历(数组)
- 算法实验一:二分查找算法改进: 当搜索元素x不存在时,返回小于x的最大元素位置i和大于x的最小元素位置j. 当搜索元素在数组中时,i和j相同,均为x在数组中的位置。
- 字符串和多维数组实验
- c++实验5—数组分离
- 数据结构实验之数组三:快速转置
- 程序设计C 实验五 题目四 二维动态数组转置(0294)
- c++实验5-数组选择
- c++第五次实验(数组分离)
- C++上机实验5-数组分离
- c++上机实验5--数组
- C#--第2周实验--任务8--编写一个控制台应用--输入10个数存入数组,求最大值、最小值和平均值
- 字符串与多维数组实验
- C++第六次实验-项目1:数组操作
- c++实验6-项目一数组操作
- C++第6次实验-分离数组
- 寒假第三天--栈和队列--数据结构实验之栈四:括号匹配 (数组)