1、实验4 数组和字符串
实验要求:
1.掌握一维数组、二维数组及字符数组的定义、赋值和使用;
2.掌握一维、二维数据及字符数组的赋值和和输出方法;
3.了解字符串的存储及应用;
4.掌握“冒泡”排序法的应用;
读程序:
1. 利用循环对数组进行赋值和输出:将任意4个实型数赋给数组a,然后输出数组a。
#include
main()
{
float a[4];
int i;
printf(“Please input 4 float number:”);
for(i=0;i<4;i++)
scanf(“%f”,&a[i]); /*第一个fo
2、r循环是对数组赋值,i控制数组元素个数*/
for(i=0;i<4;i++)
printf(“%f ”,a[i]); /*第二个for循环,依次输出每个数组元素*/
}
如果在对数组元素进行赋值的时候,想在输入每个数之前显示对应的数组名称,第一个for循环可改成如下形式:
for(i=0;i<4;i++)
{
printf(“a[%d]=”,i);
scanf(“%f”,&a[i]);
}
输出时要显示数组名称可将第二个for循环中的printf函数改为
printf(“a[%d]=%f ”,i,a[i]);
2.利用双循环对二维数组进行赋值和输出:将
3、数据3,0,-2,11,-5,10赋给一个2行3列的二维数组,输出这个二维数组。
#include
main()
{
int i,j,a[2][3]={{3,0,-2},{11,-5,10}};
for(i=0;i<2;i++) /*外层循环控制行数*/
for(j=0;j<2;j++) /*内循环控制列数*/
printf(“a[%d][%d]=%d”,i,j,a[i][j]);
}
3.将下列矩阵中的第一行和第4行对调。
对调后
1 2 3 4
15 26 37 48
11 21 31 41
4
4、 3 2 1
4 3 2 1
15 26 37 48
11 21 31 41
1 2 3 4
#include "stdio.h"
main()
{
int a[4][4]={1,2,3,4,15,26,37,48,11,21,31,41,4,3,2,1};
int i,j,c;
for(j=0;j<4;j++) /*for循环交换第一行和第4行的数据*/
{
c=a[0][j];
a[0][j]=a[3][j];
a[3][j]=c;
}
5、for(i=0;i<4;i++) /*for循环输出新的数组元素*/
{
printf("\n"); /*按行输出,每输出一行就回车换行*/
for(j=0;j<4;j++)
printf("%d ",a[i][j]);
}
}
实验:
1.编写程序,将1,2,3这三个数赋给数组a,将5,6,7赋给数组b,将两数组对应元素相加的和赋给数组c,输出数组c。
2.输入任意10个数,按从大到小或从小到大的顺序输出(“冒泡”排序)。
3. 输入10个整数并存放在一维数组中,找出其中最大值和此元素的下标。
4. 对3行4列的二维数组赋任意值,求出此二维数组每行上的最大值,输出其行号及最大值。
5. 输入任意字符串,统计其中数字的个数。