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));
}
自己是大一想要多学习一下算法,然后之后也会陆续更新各类的算法,数据结构的题,让自己能有一个回顾。