SCAU高级语言程序设计--实验7 数组的应用(1)

SCAU高级语言程序设计--实验7 数组的应用(1)

一、堂上限时习题

1、倒序

题目:由键盘输入10个整数,倒序输出。

思路:数组的写入需要用循环语句。输出也一样。

#include
int main (){    
    int a[10],i;
    for(i=0;i<10;i++)//循环输入
        scanf("%d",&a[i]);
    for(i=9;i>=0;i--)//循环输出
        printf("%d\n",a[i]);
    return 0;
}

 

2、打印矩阵

题目:由键盘输入一个3*4的矩阵,要求输出它的转置矩阵。

思路:两个二维数组。注意二维数组的输入和输出一定需要两个嵌套for语句。

#include
int main (){    
    int a[3][4],b[4][3],i,j;
    //输入
    for(i=0;i<3;i++){
        for(j=0;j<4;j++){
            scanf("%d",&a[i][j]);
            b[j][i] = a[i][j];//转置
        }
    }
    //输出
    for(i=0;i<4;i++){
        for(j=0;j<3;j++){
            printf("%d ",b[i][j]);
        }
        printf("\n");
    }      
    return 0;
}

3、冒泡排序

题目:由键盘输入10个数,用“冒泡法”对10个数从小到大排序,并按格式要求输出。代码如下,请填充完整。
#include "stdio.h" 
main() 
{  int a[10], i, j, t; 
   for(i=0;i<10;i++) 
      scanf("%d",_______________________) ;     
   for(_______________________) 
   {     for(j=0;j<_______________________;j++) 
         if (_______________________) 
            {_______________________} 
   } 
   for(i=0;i<10;i++) 
      printf("%d ",a[i]); 

思路:可参考书本P181。从第一个数开始,每一个数都和它后面的数一一对比,小的就替换掉这个数,最终得到最小的数在最前排。接着继续判断第二个数。循环判断全部数字后,循序就出来了。

#include "stdio.h" 
main(){  
   int a[10], i, j, t;
   //输入
   for(i=0;i<10;i++) 
      scanf("%d",&a[i]); //不多说 
   //冒泡
   for(i=0;i<9;i++){
        for(j=0;j<9-i;j++) 
        //小的数放最前
        if(a[j]>a[j+1]){
            t=a[j];
            a[j]=a[j+1];
            a[j+1]=t;
        } 
   }
   //输出
   for(i=0;i<10;i++) 
      printf("%d ",a[i]); 
} 

你可能感兴趣的:(C语言)