Ryoma 发表于 2014-6-11 15:02:32

假设某班级所有学生的姓名保存在一个字符串数组中,设计一个函数完成以下功能。

函数原型如下:
int lookup(char *src[],int n,char *tag[]);
其中,src是学生名数组的首地址,n是学生人数。要求找出所有姓刘的同学,在数组tag中保存他们的名字,返回刘姓学生的数量。

这是作业题 实在想不出来 求大侠帮忙!

Ryoma 发表于 2014-6-11 15:29:25

#include<stdio.h>
#include<string.h>
#define NUM 100

int lookup(char *src[],int n,char *tag[]);               
                //src学生名数组首地址 n学生人数 tag保存刘姓学生

int main()
{
        char *src,*tag;
        int n,i,count=0;                        //n输入人数 i行下标 count计算刘个数

        printf("\n\n\n\n\n\t\t\t\t请输入学生个数");
        scanf("%d",&n);
        rewind(stdin);                //清除回车
       
        for(i=0;i<n;i++)
        {
                gets(src);
        }
       
        count=lookup(src,n,tag);
        printf("\n\t\t\t\t一共有刘氏学生%d个",count);

        for(i=0;i<count;i++)
        {
                puts(src);
        }
       
        return 0;
}

int lookup(char *src[],int n,char *tag[])
{
        char liu[] = "刘";
        int count = 0,i;

        for(i=0;i<n;i++)
        {
                if(!strcmp(src,liu))
                {
                        strcpy(tag,src);
                        count ++;
                }
        }
        return count;
}
页: [1]
查看完整版本: 假设某班级所有学生的姓名保存在一个字符串数组中,设计一个函数完成以下功能。