桂林电子科技大学C语言数组实验讲述
实验4 数 组
姓名:杨广祺 学号:1500810426 实验日期:2015.11.23
实验目的和要求
(1)掌握一维数组与二维数组的定义、使用及初始化方法。
(2)学习数组作为函数参数的用法。
(3)掌握字符数组和字符串函数的使用方法。
(4)掌握与数组有关的常用排序算法,进一步理解模块化程序设计的方法。
(5)掌握字符、字符串的输入/输出方法。
(6)掌握字符数组的使用。
(7)学会使用字符串的指针和指向字符串的指针变量。
实验内容:实验指导书中的实验六、实验七
实验步骤
实验六 数组部分:
6-1:解决问题的算法或源程序代码:
#include"stdio.h"
main()
{
int a[6];
int i, ji;
for(i=1;i<=5;i++)
a[i]=0;
printf("请输入1-5的评价等级\n");
for(i=1;i<=20;i++)
{scanf("%d",&ji);
if(!ji)break;
++a[ji];
}
printf("\n结果如下\n");
for(i=1;i<=5;i++)
printf("%4d\t%d\n",i,a[i]);
}
程序的运行测试结果截图(考虑各种情况下的运行结果):
6-2:该程序完整的源程序代码是:
#include
#include
main( )
{
int n, k, xx[20];
int i, j, t;
printf("\nPlease enter a number: ");
scanf("%d", &n );
printf("\nPlease enter %d numbers: ",n);
for (i=0; i
printf("\nPlease enter another number: ");
scanf("%d", &k );
for (i=0; i
{
t =xx[0];
for ( j = 1; j < n; j++ )
xx[j-1]=xx[j];
xx[n-1]=t;
}
printf("\nAfter moving:\n");
for (i=0; i
printf("\n");
}
程序运行结果截图:
6-3 :该程序完整的源程序代码是:
#include
#include
main()
{
int i, a[100]={90, 180, 270, 380, 590, 530, 140, 750, 380}, b[6];
for(i=0;i<=5;i++)
b[i]=0;
for(i=0;i<=8;i++)
{if(a[i]<100)
b[0]++;
if(a[i]>=100&&a[i]<=199)
b[1]++;
if(a[i]>=200&&a[i]<=299)
b[2]++;
if(a[i]>=300&&a[i]<=399)
b[3]++;
if(a[i]>=400&&a[i]<=499)
b[4]++;
if(a[i]>=500)
b[5]++;
};
printf("The result is: ");
for (i=0; i<6; i++) printf("%d ", b[i]);
printf("\n");
}
程序运行结果截图:
6-4.:解决问题的关键算法的源程序代码是:
#include"stdio.h"
main()
{int i,j,t,p,q,s,n,a[11]={6,3,42,23,35,71,98,67,56,38};
for(i=0;i<10;i++)
{
for(j=i+1;j<10;j++)
if(a[i]>a[j])
{
t=a[i];
a[i]=a[j];
a[j]=t;
}
printf("%3d",a[i]);
}
printf("\n输入一个数:\n");
scanf("%d",&n);
for(i=0;i<10;i++)
if(n
{
for(j=9;j>=i;j--)
a[j+1]=a[j];
break;
}
a[i]=n;
for(i=0;i<=10;i++)
printf("%3d",a[i]);
printf("\n");
}
程序运行结果截图:
6-5:解决问题的