1.统计顺序表中,字母元素的个数,返回值为字母个数.
2.将顺序表中所有元素倒置.
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
void Count(const char *str)
{
int a=0,b=0,c=0,d=0;
while(*str!='\0')
{
if((*str>='a'&&*str<='z')||(*str>='A'&&*str<='Z'))
{
a++;
}
else if(*str>='0'&&*str<='9')
{
b++;
}
else if(*str==' ')
{
c++;
}
else
{
d++;
}
str++;
}
printf("字母:%-4d 数字:%-4d 空格:%-4d 其他:%-4d\n",a,b,c,d);
}
int main()
{
char a[100];
printf("请输入一个字符串:");
gets(a);
Count(a);
}
#include<stdio.h>
#include<stdlib.h>
#define MAXSIZE 1024
typedef struct
{
int data[MAXSIZE];//存储顺序表中的元素
int len;//顺序表长
}SeqList;//顺序表类型
SeqList *Init_SeqList()//顺序表初始化
{
SeqList *L;
L=(SeqList*)malloc(sizeof(SeqList));
L->len=0;
return L; //返回指向顺序表的指针L
}
void CreatList(SeqList **L)//建立顺序表
{
int i,n;
printf("Input length of List:");
scanf("%d",&n);
printf("Input elements of List:\n");
for(i=1;i<=n;i++)
scanf("%d",&(*L)->data[i]);
(*L)->len=n;
}
void Coverts(SeqList *A) //将顺序表中的元素逆置
{
int i,n;
int x;
n=A->len;//n为线性表的长度
for(i=1;i<n/2;i++)//实现逆置
{
x=A->data[i];
A->data[i]=A->data[n-i+1];
A->data[n-i+1]=x;
}
}
void print(SeqList *L)//顺序表的输出
{
int i;
for(i=1;i<=L->len;i++)
printf("%2d",L->data[i]);
printf("\n");
}
int main()
{
SeqList *A;
A=Init_SeqList();//顺序表初始化
printf("Creat List:\n");
CreatList(&A);//建立顺序表
print(A);//输出顺序表
Coverts(A);//逆置
print(A);
}