练习01-01统计顺序表中值为x的元素的个数

zi补齐函数countx(sequence_list L,datatype x),实现求顺序表中值为x的元素的个数。程序框架如下:

#include  "stdio.h"
#include  "stdlib.h"
/**********************************/
/*顺序表的头文件,文件名sequlist.h*/
/**********************************/
 #define MAXSIZE 100
 typedef int datatype;
 typedef struct{
   datatype a[MAXSIZE];
   int size;
 }sequence_list;

/**********************************/
/*函数名称:initseqlist()         */
/*函数功能:初始化顺序表          */
/**********************************/
void initseqlist(sequence_list *L)
{    L->size=0;
}
/**********************************/
/*函数名称:input()               */
/*函数功能:输入顺序表            */
/**********************************/
void input(sequence_list *L)
{  datatype x;
   initseqlist(L);
   printf("请输入一组数据,以0做为结束符:\n");
   scanf("%d",&x);
   while (x)
       {    L->a[L->size++]=x;
             scanf("%d",&x);
         }
}
/**********************************/
/*函数名称:print()               */
/*函数功能:输出顺序表            */
/**********************************/
void print(sequence_list L)
{   int i;
    for (i=0;i<L.size;i++)
       {    printf("%5d",L.a[i]);
            if ((i+1)%10==0) printf("\n");
       }
    printf("\n");
}

/*请将本函数补充完整,并进行测试*/
int countx(sequence_list L,datatype x)
{ 
//待补充
}

void main()
{
    sequence_list L;
    datatype x;            /*定义顺序表*/
    input(&L);            /*输入测试用例*/
    print(L);          /*输出原表*/
    printf("请输入待统计的元素值:");
    scanf("%d",&x);                      
    printf("该顺序表中值为%d的元素个数为:",x);
    printf("%d",countx(L,x));
}

输入格式:

输入一组顺序表的元素,元素间用空格隔开。 再输入一个待统计的元素值。

输出格式:

输出一个整型值。

输入样例:

在这里给出一组输入。例如:

10 10 20 0
10

输出样例:

在这里给出相应的输出。例如:

请输入一组数据,以0做为结束符:
   10   10   20
请输入待统计的元素值:该顺序表中值为10的元素个数为:2
#include  "stdio.h"
#include  "stdlib.h"
/**********************************/
/*顺序表的头文件,文件名sequlist.h*/
/**********************************/
 #define MAXSIZE 100
 typedef int datatype;
 typedef struct{
   datatype a[MAXSIZE];
   int size;
 }sequence_list;

/**********************************/
/*函数名称:initseqlist()         */
/*函数功能:初始化顺序表          */
/**********************************/
void initseqlist(sequence_list *L)
{    L->size=0;
}
/**********************************/
/*函数名称:input()               */
/*函数功能:输入顺序表            */
/**********************************/
void input(sequence_list *L)
{  datatype x;
   initseqlist(L);
   printf("请输入一组数据,以0做为结束符:\n");
   scanf("%d",&x);
   while (x)
       {    L->a[L->size++]=x;
             scanf("%d",&x);
         }
}
/**********************************/
/*函数名称:print()               */
/*函数功能:输出顺序表            */
/**********************************/
void print(sequence_list L)
{   int i;
    for (i=0;i<L.size;i++)
       {    printf("%5d",L.a[i]);
            if ((i+1)%10==0) printf("\n");
       }
    printf("\n");
}

/*请将本函数补充完整,并进行测试*/
int countx(sequence_list L,datatype x)
{ 
    int count=0;
for(int i=0;i<L.size;i++)
{
    if(L.a[i]==x)
    {
        count++;
    }
}
return count;
}

void main()
{
    sequence_list L;
    datatype x;            /*定义顺序表*/
    input(&L);            /*输入测试用例*/
    print(L);          /*输出原表*/
    printf("请输入待统计的元素值:");
    scanf("%d",&x);                      
    printf("该顺序表中值为%d的元素个数为:",x);
    printf("%d",countx(L,x));
}




 自己是大一想要多学习一下算法,然后之后也会陆续更新各类的算法,数据结构的题,让自己能有一个回顾。

  • 11
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值