实验8指针与引用(2)
请将自己报告部分,文字和程序代码,加粗 完成下面实验内容和实验要求。 自测题
1.编写函数实现字符串函数strcmp()的功能。 要求:使用指针操作完成题目
⑴程序代码如下,请补充完整,使程序能运行且运行正确。 #include
#include
int My_strcmp( , ) //声明两个字符指针变量str1和
str2 {
while ( ) // 当对应字符相等且两个字符串未结束时循
环。 { str1++;
; // 将str2指针指向下一个字符 }
return ( ); /*返回字符串比较结果,根据主函数中r
的分支判断确定应该返回的结果*/
⑵运行结果截图 int main() { }
char s1[50], s2[50];
cout<<”please input the first string: “; cin>>s1;
cout<<”please input the second string: “; cin>>s2; int r;
r=My_strcmp(s1,s2); // 函数调用返回值赋值给r if (r>0)
cout< else if (r<0) cout< else cout< return 0; 2.编写程序,以(999)99999-999的形式输入电话号码字符串。 要求:利用strtok()函数获取区号,电话号码的前五位是主机号,后三位是分机号,需将电话号码的八位数连接成一个字符串。程序将区号转化为整型,将电话号码字符串转化为长整型,并打印转化后的区号和电话号码。使用指针操作完成题目。 ⑴程序代码如下,请补充完整,使程序能运行且运行正确。 #include #include char phone_number[20]; //定义一个字符指针qp指向字符串phone_number int quhao=0; //区号 long int number=0; // 电话号码 cout<<\ input a phone number with the format(999)99999-999: \ cin>>phone_number; qp++; //去掉左括号 while (*qp!= ) // 获取区号 { quhao=quhao*10+(*qp-'0'); // qp指针指向下一个字符 } qp++; while (*qp!= ) { //获取主机号码,语句数量不限 } qp++; while (*qp!= ) { //获取分机号码,语句数量不限 } cout<<\区号是:\ cout<<\电话号码是: \ } return 0; ⑵运行结果截图 3.使用指针编写程序:定义一个字符数组,并初始化为“hello world!”,编写程序逆序输出此字符数组。参考教材P142 例6-11 ⑴程序代码: ⑵运行结果截图 4.编写一个程序,管理一个班级的学生的c++课程的成绩。参考实验8练习题4 要求:用动态存储分配的方法。键盘输入学生人数n,使用new生成一个动态单精度实型数组,用于保存班级学生的成绩,输出各分数段学生的人数,班级学生的平均成绩及低于平均分的人数。 ⑴程序代码: