Hs_Hassium 2019-12-16 15:28
浏览 236

C++编程新手求解:结构体与数组问题?

#include <iostream>
using namespace std;
struct bits1 //位域结构体
{
unsigned char a : 1;     //整数范围0~1
unsigned char b : 3;     //整数范围0~7
unsigned char c : 4;     //整数范围0~15
 };
struct bits2
{
unsigned short a : 1;     //整数范围0~1
unsigned short b : 3;     //整数范围0~7
unsigned short c : 4;     //整数范围0~15
 };
void main( )
{
cout << "bits1: " << sizeof (bits1)*8 << endl;
cout << "bits2: " << sizeof (bits2)*8 << endl;
bits2 bit, *pbit = &bit;     //定义结构体指针
bit.a = 1; bit.b = 7; bit.c = 15;
cout << bit.a << " " << bit.b << " " << bit.c << endl;
pbit->a = 0; pbit->b = 0; pbit->c = 0; //指针访问成员
cout << pbit->a << " " << pbit->b << " " << pbit->c << endl;
system("pause");
 }

请对上面的程序作出以下修改:
(1)写一个输出函数,输出各个data,使其不在main 中输出。函数原型为:
void showNodeData( NODE *head ) ;
(2)写一个逆序输出函数,以逆序输出各个NODE 的data 值。函数原型为:
void reverseShowNodeData( NODE *head ) ;如果需要额外空间,请在本函数中动态分配及释放。
(3)写一个均值函数,计算各个data 的均值并返回。函数原型为:double averageNodeData( NODE *head ) ;
(4)写一个查找函数,在各个data 中查找某个值KEY。函数原型为:NODE * searchNodeData( NODE *head, int KEY ) ;如果找到了,返回该NODE 地址并输出data;如果没找到,返回NULL 指针。
(5)写一个插入函数,在第K 个位置插入一个newNODE。函数原型为:
bool InsertNode( NODE *head, int K, NODE *newNODE ) ;在main 函数中为newNODE 分配空间并赋值data(data 值自定)。如果插入成功返回true,并输出各个data 以证明插入成功。失败返回false。插入成功、失败的条件是什么?
(6)写一个删除函数,删除第K 个位置上的NODE。函数原型为:bool DelNode( NODE *head, int K ) ;
如果删除成功,释放该NODE 内存并返回true,输出各个data 以证明删除成功。如果删除失败,给出提示信息并返回false。
(7)原题new 分配的所有NODE 内存都没有释放,编一个释放函数,原型如下:void DelList( NODE *head ) ;

C++新手求各路大神解答,定感恩不尽!

  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
    • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
    • ¥20 有关区间dp的问题求解
    • ¥15 多电路系统共用电源的串扰问题
    • ¥15 slam rangenet++配置
    • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
    • ¥15 ubuntu子系统密码忘记
    • ¥15 保护模式-系统加载-段寄存器
    • ¥15 电脑桌面设定一个区域禁止鼠标操作
    • ¥15 求NPF226060磁芯的详细资料