




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、33C1. 在文本文件testf1.txt中,从第一个数开始,每四个数为一组,第一个数为不同商场的代号,其余三个数代表三类商品的营业额(万元)。编写程序,统计计算并向文件t2.dat输出各商场第一类商品的总营业额S和该类商品在各商场的平均营业额V。 Dim a, b, c, d, sum, aver As Single Dim n As Integer n = 0 : sum = 0 FileOpen(1, D:testf1.txt, OpenMode.Input)FileOpen(2, D:t2.dat, OpenMode.output) While Not EOF(1) Input(1,
2、a) Input(1, b) Input(1, c) Input(1, d) sum = sum + b n = n + 1 End While Aver=sum/n MsgBox(总营业额为: + Str(sum) + Chr(10) + 平均营业额为: + Str(aver) Write(2,sum,aver) Fileclose(1,2) Fileclose(1) : Fileclose(2) 34C2. 已知在正文文件da1.dat中,每个纪录只有两项数据,第一项为一整数表示学生的学号,第二项为形如xx.x的一个实数,试统计计算并向文件t2.dat输出全部学生的平均成绩V与90分以上(
3、含90分)的学生人数N。 Dim i, id, n As Integer Dim cj, total, aver As Double total = 0 FileOpen(1, D:da1.dat, OpenMode.Input) FileOpen(2, D:f2.dat, OpenMode.Output) i = 0 n = 0 While Not EOF(1) Input(1, id) Input(1, cj) If (cj = 90) Then n = n + 1 End If total = total + cj i = i + 1 End While If i 0 Then aver
4、 = total / i End If MsgBox(total= + Str(total) + + aver= + Str(aver) + + i= + Str(i) + + n= + Str(n) Write(2, aver, n) FileClose(1) FileClose(2) 35C3. 已知在正文文件ch1.dat中, 每个记录的数据是有一个由字母组成的字符个数不多于10个的字符串,如:absolute。试查找文件中从第150个记录到第250个记录间的最大的字符串,并向文件t2.dat输出查找结果和该字符串中的字符个数n。 Dim str1, str2 As String Dim
5、 i, n As integer str1 = i = 0 FileOpen(1, D:ch1.dat, OpenMode.Input)FileOpen(2, D:f2.dat, OpenMode.Output) While Not EOF(1) Input(1, str2) i = i + 1 If (i = 150) And (i = 250) Then If str1 str2 Then str1 = str2 End If End If End While n = Len(str1) FileClose(1) MsgBox(最大的字符串: + str1 + 其字符串个数: + Str(
6、n) WriteLine(2, str1, n) FileClose(2) 36C4. 已知在正文文件ch1.dat中, 每个记录的数据是有一个由字母组成的字符个数不多于10个的字符串,如:absolute。统计在该文件中只有4个字符的字符串的个数n1和字符串的最后一个字符是f的字符串的个数n2,并将统计结果存入文本文件t2.dat中。 Dim str1, str2 As String Dim n1, n2, i As Integer n1 = 0 n2 = 0 FileOpen(1, D:ch1.dat, OpenMode.Input)FileOpen(2, D:f2.dat, OpenMo
7、de.Output) While Not EOF(1) Input(1, str1) i = Len(str1) If (i 0) Then If (i = 4) Then n1 = n1 + 1 End If str2 = Mid$(str1, i, 1) If (str2 = f Or str2 = F) Then n2 = n2 + 1 End If End If End While FileClose(1) MsgBox(在该文件中只有4个字符的字符串的个数n1= + Str(n1) MsgBox(和字符串的最后一个字符是f的字符串的个数n2= + Str(n2) WriteLine(
8、2, n1) WriteLine(2, n2) FileClose(2)37C5. 已知在正文文件t1.dat中,每个纪录只有一个实数,其格式为:x.xxxxx,试把该文件中从第100个数开始(包括第100个数)的225个数依序依序按行读入到一个15*15的二维数组中,计算并向文件t2.dat输出数组中上三角形元素值含主对角线元素值之和S与每列和数中的最大值MX。Dim a(14, 14), s_col(14) As Double Dim i, j, n As Integer Dim s, mx, t As Double Dim str1 As String n = 0 FileOpen(1,
9、 D:t1.dat, OpenMode.Input) FileOpen(2, D:t2.dat, OpenMode.Output) Do While Not EOF(1) Input(1, t) n = n + 1 If n = 99 Then Exit Do Loop For i = 1 To 99 Input(1, t) Next For i = 0 To 14 For j = 0 To 14 Input(1, a(i, j) Next j Next i s = 0 For i = 0 To 14 For j = 0 To 14 If (i = j) Then s = s + a(i, j
10、) End If Next Next str1 = For i = 0 To 14 s_col(i) = 0 For j = 0 To 14 s_col(i) = s_col(i) + a(j, i) Next str1 = str1 + CStr(s_col(i) + Chr(13) + Chr(10) Next MsgBox(str1) mx = s_col(0) For i = 1 To 14 If (mx a(k + 1) Then t = a(k) a(k) = a(k + 1) a(k + 1) = t p = 1 End If Next End While 方法二一: For j
11、 = 0 To i - 2 For k = j + 1 To i - 1 If a(j) a(k) Then t = a(j) a(j) = a(k) a(k) = t End If Next Next str1 = For k = 0 To i - 1 str1 = str1 + Str(a(k) + Chr(13) + Chr(10) Next TextBox1.Text = str1 sum2 = 0 For i = 0 To 19 sum2 = sum2 + a(i) Next i v1 = sum2 / 20 MsgBox(全部学生的平均成绩V= + Str(v) MsgBox(全部
12、学生成绩排序在后20名的学生的平均成绩V1= + Str(v1) WriteLine(2, v) WriteLine(2, v1) FileClose(1) FileClose(2)39C7. 编一个写把二维数组(矩阵)A(m,k)和B(k,n)相乘的应用程序,结果放入二维数组C(m,n)中。提示: 数组C(m,n)中第i行第j列的元素值C(i,j)的计算公式为: C(i,j)=A(i,p)*B(p,j) (p=1,2,k) 读文件daf.dat为数组A(6,6)赋值,计算C=A*A,然后求数组C的主对角线元素值之积M。方法一:Sub jz(ByVal a(,) As Single, ByVa
13、l b(,) As Single, ByRef c(,) As Single, ByVal m As Integer, ByVal k As Integer, ByVal n As Integer) 矩阵乘积 Dim i, j, p As Integer Dim s1 As Single Dim str1 As String For i = 0 To m For j = 0 To n c(i, j) = 0 For p = 0 To k c(i, j) = c(i, j) + a(i, p) * b(p, j) Next Next Next 输出矩阵C str1 = For i = 0 To
14、m For j = 0 To n str1 = str1 + Str(c(i, j) + Next str1 = str1 + Chr(13) + Chr(10) Next TextBox1.Text = str1 End Sub Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim a(,) As Single Dim c(,) As Single Dim i, j, k, m, n As Integer Dim s As
15、Double Dim str1 As String m = InputBox(请输入m) k = InputBox(请输入k) n = InputBox(请输入n) ReDim a(m, k) ReDim c(m, n) FileOpen(1, D:DAF.txt, OpenMode.Input) For i = 0 To m For j = 0 To k Input(1, a(i, j) Next Next 调用过程 Call jz(a, a, c, m, k, n) 求对角线元素之积 s = 1 For i = 0 To m s = s * a(i, i) Next MsgBox(对角线元
16、素之积为 + Str(s) End Sub方法二:Dim a(5, 5), b(5, 5), c(5, 5) As Single Dim i, j, k, m, n, p As Integer Dim s As Double Dim str1 As String m = 5 n = 5 k = 5 FileOpen(1, D:DAF.txt, OpenMode.Input) For i = 0 To m For j = 0 To k Input(1, a(i, j) Next Next For i = 0 To m For j = 0 To n c(i, j) = 0 For p = 0 To
17、 k c(i, j) = c(i, j) + a(i, p) * a(p, j) Next Next Next 求对角线元素之积 s = 1 For i = 0 To m s = s * c(i, i) Next MsgBox(对角线元素之积为 + Str(s)40C8. 计算90180之间每间隔40(不含边界)的正弦值,并将它们写到文件sc.out中;然后从该文件中读出这些数据并在屏幕上显示输出。(提示:弧度=度数/180)0.,0. Dim fs, ls, sep, pi As Double Dim str1 As String pi = 3. fs = 90 * pi / 180.0 l
18、s = 180 * pi / 180.0 sep = 40 * pi / 180.0 FileOpen(1, D:sc.out, OpenMode.Output) str1 = 计算90180之间每间隔40(不含边界)的正弦值 + Chr(13) + Chr(10) fs = fs + sep While (fs ls) str1 = str1 + Str(Math.Sin(fs) + Write(1, Math.Sin(fs) fs = fs + sep End While MsgBox(str1) 42C10. 已知 数据文件中存放有1100之间各自然数n的平方根,(文件中每行只存储一个数
19、值数据)。编程查找当n=5时其平方根在文件中的位置(即记录号),并将其显示输出到屏幕上。25Dim i As Integer Dim x, y, n As Single FileOpen(1, D:dat2.dat, OpenMode.Input) n = InputBox(please input n=) n=5 If (n 0 And n = 100) Then i = 0 Do While Not EOF(1) Input(1, x) i = i + 1 y = Val(Format(Math.Sqrt(n), #.0000) If (y = x) Then Exit Do End If
20、 Loop End If FileClose(1) MsgBox(当n= + Str(n) + 时其平方根在文件中的位置(即记录号) + Str(i)43C11. 已知 数据文件中已存储有50个学生的学号(整型)与一门课程的成绩(实型),编程将该文件中50个学生的学号与成绩分别赋给整型数组num和实型数组grade,计算并输出第11-20名学生的平均分。Dim num(49) As Integer Dim grade(49) As Single Dim t, s, aver As Single Dim i, n, p, j As Integer Dim str1 As String FileOpen(1, D:dat3.dat, OpenMode.Input) n = 0 While Not EOF(1) Input(1, num(n) Input(1, grade(n) n = n + 1 End While paixu 方法
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 技术专家劳务协议书
- 同居期间购房协议书
- 有偿车位协议书范本
- 损坏首饰赔偿协议书
- 矿用台车转让协议书
- 医院合伙经营协议书
- 情侣制定协议书范本
- 涉外治安调解协议书
- 委托招标协议书模板
- 卖房抵债协议书范本
- 2025年中国短圆柱滚子轴承市场调查研究报告
- 教师的情绪管理课件
- 湖北省十一校2024-2025学年高三第二次联考数学试卷(解析版)
- 英语-华大新高考联盟2025届高三3月教学质量测评试题+答案
- 《手工制作》课件-幼儿园挂饰
- 【初中地理】西亚+课件-2024-2025学年人教版地理七年级下册
- 鼓励员工发现安全隐患的奖励制度
- 国家开放大学《人文英语4》边学边练参考答案
- 高杆灯专项施工方案
- 钢笔字练习模板
- 车间员工质量意识培训
评论
0/150
提交评论