指针数组程序设计.doc
文本预览下载声明
实验九 指针数组程序设计
【实验目的】
。【实验】5个字符串,按从大到小排序后输出,要求用指针数组实现。
9-2编程
编写一个函数int max_len(char *s[ ], int n),用于计算有n个元素的指针数组s中最长的字符串的长度,并编写主程序验证。
9-3改错
从键盘上输入一个3×3的矩阵,求矩阵的主对角线和副对角线之和,要求定义和调用函数。
输入输出示例:
输入3×3数组
8 6 12
5 9 10
7 11 5
sum=41.00
源程序(有错误的程序)error9_3.cpp
#include stdio.h
float matrix(float *a[3], int n)
{ int i, j;
float sum = 0;
for(i = 0; i 3; i++)
for(j = 0; j 3; j++){
if(i == j)
sum = sum + *(*(a + i) + j);
if(j == 2-i i != j)
sum = sum + *(*(a + i) + 2 - i);
}
return sum;
}
void main()
{ int i,j; float a[3][3];
printf(输入3×3数组\n);
for(i = 0; i 3; i++)
for(j = 0; j 3; j++)
scanf(%f, a[i][j]);
printf(sum=%0.2f \n, matrix(a,3));
}
提示:函数的形参是指针数组。
以下为循环和数组的题目
9-4编程【自测练习题50030】
连续输入一批以 # 结束的字符串(字符串的长度不超过80),遇 ## 则全部输入结束。
统计并输出每个字符串中大写辅音字母的个数(大写辅音字母:除A,E,I,O,U以外的大写字母)。
例:括号内是说明
输入:
HELLO#IT12#uieiaba## (连续输入3个字符串)
输出:
3 (HELLO中有3个大写辅音字母)
1 (IT12中有1个大写辅音字母)
0 (uieiaba中没有大写辅音字母)
9-5编程【自测练习题50031】
连续输入一批以 # 结束的字符串(字符串的长度不超过80),遇 ## 则全部输入结束。
将每个字符串中的大写字母用下面列出的对应大写字母替换, 其余字符不变, 输出替换后的字符串.
原字母 对应字母
A ──→ Z
B ──→ Y
C ──→ X
D ──→ W
……
X ──→ C
Y ──→ B
Z ──→ A
例:括号内是说明
输入:
A flag of USA#IT12#oueiaba## (连续输入3个字符串)
输出:
Z flag of FHZ
RG12
oueiaba
9-6编程【自测练习题50032】
连续输入一批以 # 结束的字符串(字符串的长度不超过80),遇 ## 则全部输入结束。
对每个字符串做如下处理:滤去所有的非十六进制字符后,组成一个新字符串(十六进制形式),然后将其转换为十进制数后输出。
例:括号内是说明
输入:
10#Pf4+1#-+A## (连续输入3个字符串)
输出:
16
3905
10
【实验运行结果改正后的程序运行结果实验中遇到的问题和解决问题的方法写在实验报告上。
显示全部