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 关于#python#的问题:求帮写python代码
    • ¥20 MATLAB画图图形出现上下震荡的线条
    • ¥15 LiBeAs的带隙等于0.997eV,计算阴离子的N和P
    • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘
    • ¥15 来真人,不要ai!matlab有关常微分方程的问题求解决,
    • ¥15 perl MISA分析p3_in脚本出错
    • ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
    • ¥15 ubuntu虚拟机打包apk错误
    • ¥199 rust编程架构设计的方案 有偿
    • ¥15 回答4f系统的像差计算