仲恺农业工程学院实验报告纸
信息学院(院、系)              专业        班 C语言程序设计 课
学号      姓名                实验日期                教师评定             
实验名称:数组
实验目的:
(1)掌握一维和二维数组的定义、赋值和输入输出方法。
(2)掌握字符数组和字符串函数的使用。
(3)掌握与数组有关的算法。
实验内容与总结:
编程练习
1、输入一个字符串,统计其中字母、数字、空格和其他字符各多少个。
程序如下:
#include <stdio.h>
#define N 100
void main()
{
int i,letter,number,space,other;
char c[N];
letter=number=space=other=0;
怎么定义二维数组c语言printf("请输入字符串:\n");
gets(c);
for(i=0;i<N&&c[i]!='\0';i++)
{
if((c[i]>='a'&&c[i]<='z')||(c[i])>='A'&&c[i]<='Z')
letter++;
else if(c[i]>='0'&&c[i]<='9')
number++;
else if(c[i]==' ')
space++;
else
other++;
}
printf("字母 %d 数字 %d 空格 %d 其它字符 %d\n",letter,number,space,other);
}
(1)程序编制要点:
①一维数组的定义、赋值和输入输出方法;
②gets函数的表达。
(2)该题目涉及的知识点和难点:
①一维数组的输入输出;
②for语句的输入与使用;
③if语句的使用;
④gets函数的使用。
2、输出杨辉三角形。教材p153-7.6
程序如下:
#include<stdio.h>
#define N 10
void main()
{
int i,j,a[N][N]; /*数组为10行10列*/
printf("杨辉三角形的前10行如下:\n");
for(i=0;i<N;i++)
{
a[i][0]=1; /*使第1列的元素值为1*/
a[i][i]=1; /*使对角线的值为1*/
}
for(i=2;i<N;i++) /*从第3行开始处理*/
for(j=1;j<=i-1;j++)
{
a[i][j]=a[i-1][j-1]+a[i-1][j];
}
for(i=0;i<N;i++)
{
for(j=0;j<=i;j++)
printf("%5d",a[i][j]);
printf("\n");
}
}
(1)程序编制要点:
①二维数组的定义、赋值和输入输出方法;;
②用for语句实现循环;
(2)该题目涉及的知识点和难点:
①宏定义;
②二维数组的输入输出;
③for语句的输入与使用。
3、餐饮服务质量调查打分
在商业和科学研究中,人们经常需要对数据进行分析并将结果以直方图的形式显示出来。例如,一个公司的主管可能需要了解一年来公司的营业状况,比较一下各月份的销售收入状况。如果仅给出一大堆数据,这显然太不直观了,如果能将这些数据以条形图(直方图)的形式表示,将会大大增加这些数据的直观性,也便于数据的分析与对比。下面以顾客对餐饮服务打分为例,练习这方面的程序编写方法。
假设有20个学生被邀请来给自助餐厅的食品和服务质量打分,分数划分为1~5这5个等级(1表示最低分,5表示最高分),试统计调查结果,并用*打印出如下形式的统计结果直方图。
Grade Count Histogram
1 5 *****
2 10 **********
3 7 *******
...
程序如下:
#include<stdio.h>
void main()
{
int score[20];
int count[6]={0};
int i,j;
for(i=0;i<20;i++)
{
printf("请输入第%d位同学对自助餐厅食品和服务质量的打分(1~5分):\n",i+1);
scanf("%d",&score[i]);
count[score[i]]++;
}
printf("统计调查结果如下:\n");
printf("Grade Count Histogram\n");
for(i=1;i<=5;i++)
{
printf("%2d %6d ",i,count[i]);
for(j=0;j<count[i];j++)
printf("*");
printf("\n");
}
}
(1)程序编制要点:
①数组输入输出;
②用for语句实现循环。
(2)该题目涉及的知识点和难点:
①整型int,scanf函数;
②数组的输入输出及使用;
③for语句的输入与使用。
程序代码和运行情况描述:
在实验1中,当程序运行时,先初始化数据letter=number=space=other=0,输入字符串后,自动统计其中字母、数字、空格和其他字符各多少个。
在实验2中,先定义一个二维数组,然后用for语句实现循环,杨辉三角形的前10行的计算在循环中执行。
在实验3中,定义一个数组score[20]和count[6]。用for语句实现循环,统计的次数在循环中自增:第一个for语句用来实现对20个学生给自助餐厅的食品和服务质量的打分的输入与统计;第二个for语句统计输出的Grade与Count的数值;第三个for语句实现条形图(*)的长度。
 

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。