仲恺农业工程学院实验报告纸
信息学院(院、系) 专业 班 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小时内删除。
发表评论