第一题主要考查了,字符串长度函数strlen(s1)

s1可以是字符数组名或字符串常量,这个函数返回字符串s1中‘、0’之间的字符个数.

例如strlen("happy")的值为5。

#include<stdio.h>
#include<string.h>
int main()
{
    char *a[5];
    char b[5][50];
    int i,max,n,m=0; 
    printf("输入5个字符串:");
    scanf("%s",b[0]);
    a[0]=&b[0][50];
    max=strlen(b[0]);
    for(i=1;i<5;i++)
        {
            scanf("%s",b[i]);
            a[i]=&b[i][50];
             n=strlen(b[i]);
             if(n>max)
                 {
                     max=n;
                     m=i;
                 }
        }
    printf("最长的字符串是:%s\n",b[m]);
    return 0;
}

第二道题考察的是gets()而主要部分可以与之前的做法相同,不同的是在循环条件的地方

#include<stdio.h>
int main()
{
    char a[50];
    char *b;
    int n,dx=0,xx=0,kg=0,sz=0,qt=0;
    printf("请输入一行文字:");
    gets(a);
    for(b=a;(*b)!='\0';b++)
    {
        if((*b)>='A'&&(*b)<='Z') dx++;
        else if((*b)>='a'&&(*b)<='z') xx++;
        else if((*b)=' ') kg++;
        else if((*b)>='0'&&(*b)<='9') sz++;
        else qt++;
    }
    printf("有%d个大写字母,%d个小写字母,%d个空格,%d个数字,%d个其他",dx,xx,kg,sz,qt);    
    return 0;
}

感觉上第三题好像有什么问题,描述的没看懂,我只能把,看懂的写上

#include<stdio.h>
#include<string.h>
struct grade_list{
    char name[10];
    int num;
    int grade1,grade2,grade3;
};
int Count=0;
void new_student(struct grade_list student[]); 
int main()
{
    int n;
    char name[10];
    struct grade_list student[50];
    do{
    printf("***********成绩册************\n");
    printf("\t1:新建同学 \n");printf("\t2:查询同学 \n");
    printf("\t3:平均成绩 \n");printf("请选择功能");
    scanf("%d",&n);
    switch(n){
            case 1:new_student(student);break;
            case 2:printf("请输入要查找的同学名:");
                   scanf("%s",name);
                   break;
               case 3:break;
               case 0:break;
        } 
    }while(n!=0);
    printf("感谢您使用本系统:");
    return 0; 
}

void new_student(struct grade_list student[])
{
    struct grade_list f;
    int x;
    if(Count == 50){
        printf("列表已满");
        return ;
    }
    printf("请输入新同学的姓名:");
    scanf("%s",f.name);
    printf("请输入新同学的学号:");
    scanf("%d",&f.num);
    printf("请输入新同学的第一门成绩:");  
    scanf("%f",f.grade1); 
    printf("请输入新同学的第二门成绩:");  
    scanf("%f",f.grade2); 
    printf("请输入新同学的第三门成绩:");  
    scanf("%f",f.grade3); 
    student[Count] = f;
    Count++;
}

感觉我的指针这一块还是有点迷,还得下去练练,上一次的作业我估计是没传上,我尽快补上,为什么我的博客园在写随笔的时候有时所有的输入法都无法输入中文,我用的win10