《C语言程序设计》数组应用编程

  • 格式:pdf
  • 大小:286.71 KB
  • 文档页数:9

下载文档原格式

  / 9
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

if((i==j||i+j==3) && a[i][j]>max) { max=a[i][j]; b=i; c=j; } } } printf("和为%d\n积为%d\n",sum,d); printf("对角线上最大的元素为%d\n它在数组中的位置为a[%d] [%d]\n",max,b,c); }
⒌ Fra Baidu bibliotek行结果
(包括原始数据、相应的运行结果和必要的说明。) A:修改调试题目:
题目⑴:
题目⑶:
题目⑷:
⒍ 分析与思考
调试过程及调试中遇到的问题及解决办法;调试程序的心得与体 会;其他算法的存在与实践等。若最终未完成调试,要认真找出错误并 分析原因等。 总结:对数组的输入输出都要用For语句循环,同时特别注意语句中所 包括的哪些循环体,要循环到哪里。
} for(i=0;i<n;i++) { for(j=0;j<=20-2*i;j++) { printf(" "); } for(j=0;j<=i;j++) { printf("%4d",a[i][j]); } printf("\n"); } }
题目⑷:
#include <stdio.h> main() { int c,b,i,j,n=4,d=1,max,sum=0,a[4][4]; for(i=0;i<n;i++) { for(j=0;j<n;j++) { scanf("%d",&a[i][j]); } } max=a[0][0]; for(i=0;i<n;i++) { for(j=0;j<n;j++) { if(i==j||i+j==3) sum+=a[i][j]; if((i==j||i+j==3) && i%2==0 && j%2==0) d*=a[i][j];
输出max
min=a[0]
i++
a[i]<min min=a[i];
输出min 结束 i++ 结束 输出sum,积d,最大max,位置a[b][c] i==j?i+j=3 sum+=a[i][j], i++ max=a[i][j],b=i, c=j
n=4,d=1,sum=0,a[4][4] i=0,j=0
B、编程题目:(题目⑴、题目⑵为一组,题目⑶为一组,题 目⑷为一组。每个同学每组都必须完成1题) 要求:每道题目分别书写程序,试运行(如何输入,结果如何)。 题目⑴:从键盘输入10个整数存入数组,找出其中最大和最小值,并
输出。
题目⑵:从键盘输入一个字符串,编写程序将该字符串逆序。 题目⑶:输出杨辉三角形(要求输出10行)
} printf("\n"); for(i=0;i!=n;i++) (float)b+=a[i]; av=b/10; printf("av=%f\n",av); }
题目⑴:
#include <stdio.h> main() { int i,n=10,a[10],max,min; for(i=0;i<n;i++) scanf("%d",&a[i]); max=a[0]; for(i=1;i<n;i++) if(a[i]>max) max=a[i]; printf("最大的数为%d\n",max); min=a[0]; for(i=1;i<n;i++) if(a[i]<min) min=a[i]; printf("最小的数为%d\n",min); }
A:修改调试题目:
调试下列程序,使之具有如下功能:输入10个整数,按每行3个数 输出这些整数,最后输出10个整数的平均值。写出调试过程。 #include “stdio.h” void main() { int i,n,a[10],av; for(i=0;i<n;i++) scanf("%d",a[i]); for(i=0;i<n;i++) { printf("%d",a[i]); if (i%3==0) printf("\n"); } for(i=0;i!=n;i++) av+=a[i]; printf("av=%f\n",av); } 上面给出的程序是完全可以运行的,但是运行结果是完全错误的。 调试时请注意变量的初值问题、输出格式问题等。请使用前面实验所掌 握的调试工具,判断程序中的错误并改正。在程序运行过程中,可以使 用<Ctrl>+<Break>键终止程序的运行,返回到TC环境。
题目⑶:
#include <stdio.h> main() { int i,j,n=10,a[10][10]; for(i=0;i<n;i++) { for(j=0;j<=i;j++) if(i==j||j==0) a[i][j]=1; else a[i][j]=a[i-1][j]+a[i-1][j-1];
开始 i<n? j<i?
a[i][j]=a[i-1][j]+a[i-1][j-1]
i=0,n=10,a[10][10] 开始 N Y N N Y Y N Y N Y N Y N Y N Y N Y
N Y N Y N Y i<n? j++ j<n? i++ i<n? j++ j<n? 输入a[i][j] i++ i<n? j++ j<=i? i++ j++ i++ i<n? 结束 max<a[i][j]? d+=a[i][j] 输出a[i][j] i=0,j=0 i=2,j=1
⒋ 程序清单
A:修改调试题目:
#include "stdio.h" void main() { int i,n=10,a[10]; float av,b=0; for(i=0;i<n;i++) scanf("%d",&a[i]); for(i=0;i<n;i++) { printf("%d,",a[i]); if ((i+1)%3==0) printf("\n");
1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 1 6 15 20 15 6 1 …… …… ……
(提示,使用二维数组)
题目⑷: 输入4×4的数组,编写程序实现:
① 求出对角线上各元素的和; ② 求出对角线上行、列下标均为偶数的各元素的积; ③ 找出对角线上其值最大的元素和它在数组中的位置。
《C语言程序设计》实验报告 实验名称:数组应用编程 系 别: 计算机系 与技术 姓 名: 专业:计算机科学 班级:五班 学号:
实验日期: 教师审批签字:
实验7 C数组应用编程
⒈ 实验目的
⑴ 掌握一维数组和二维数组定义、赋值和输入输出的方法。 ⑵ 掌握字符数组和字符串函数的使用。
⒉ 实验内容或实验题目
⒊ 算法说明
(用文字或流程图说明。)
开始 int n=10 float b=0 i=0 i<n? 输入10个数给数组a[10] i++ 输出a[i]
(i+1)%3=0
换行 对数组a[10]求和为b
av=b/10;
输出av 结束 Y Y N N 开始 i=1 i<10
输入10个数给数组a[10]
max=a[0]; a[i]>max max=a[i]