首页 > 代码库 > 作业十二

作业十二

1.找出最长的字符串:输入5个字符串,输出其中最长的字符串。

#include<stdio.h>
#include<string.h>
int main()
{
	int i;
	printf("输入五个字符串:");
	char sx[80],smax[80];
	scanf("%s",sx);
	strcpy(smax,sx);
	for(i=1;i<5;i++){
		scanf("%s",sx);
		if(strcmp(smax,sx)<0)
		strcpy(smax,sx);
		}
		
	printf("max is %s\n",smax);
	return 0;		
}

  技术分享

2.分类统计字符个数:输入一行文字,统计其中的大写字母、小写字母、空格、数字以及其他字符各有多少。

#include"stdio.h" 
int main()
{
    int  a,dx=0,xx=0,kg=0,sz=0,qt=0;
    while((a=getchar())!=\n)

    {
        if(a>=A&&a<=Z)
            dx++;
        else if(a>=a&&a<=z)
            xx++;
        else if(a== )
            kg++;
        else if(a>=0&&a<=9)
             sz++;
         else
             qt++;
        
    }
    printf("大写字母有:%d\n",dx);
    printf("小写字母有:%d\n",xx);
    printf("空格有:%d\n",kg);
    printf("数字有:%d\n",sz);
    printf("其他字符有:%d\n",qt);

    return 0;    
}

技术分享

3. 学生信息管理系统。

假设学生的基本信息包括学号、姓名,三门课程成绩以及个人平均成绩,且最多需要处理50名学生的数据,实现如下功能。

(1)输入学生基本信息

(2)输出学生基本信息

(3)计算每个学生的平均成绩

(4)按姓名查找学生基本信息

#include"stdio.h"
#include"string.h"
struct student_list{
    int num;
    char name[50];
    int computer,english,math;
    double average;
};
int count = 0;
void new_student(struct student_list students[] );
void search_student(struct student_list students[],char *name);
void print_student(struct student_list students[]);
int main()

{    
    int choice; char name[50];
    struct student_list students[50];
    do{
        printf("******学生的基本信息******\n"); 
        printf("\t1:新建\n");
        printf("\t2:查询\n");
        printf("\t3:输出\n");
        printf("\t0:退出\n");
        printf("请选择功能:");
        scanf("%d",&choice);
        switch(choice){
         case 1: 
             new_student(students); 
            break;
        case 2:
            printf("请输入要查找的学生姓名:");
            scanf("%s",name);    
            search_student(students,name);
            break;
        case 3:print_student(students);
            break;
        case 0:
            break;
        }
    }while(choice !=0);
    printf("谢谢!\n");

    return 0;
}
void print_student(struct student_list students[])
{
    printf("学生信息列表的学生信息如下:\n");
    int i;
    for(i=0;i<count;i++)
    {
        printf("%s    %d %d %d %.2lf %d\n",students[i].name,students[i].computer,students[i].english,students[i].math,students[i].average,students[i].num);
    }
}
void new_student(struct student_list students[])
{
    struct student_list f;
    if(count ==50){
        printf("信息表已满!\n");
        return;    
    }
    printf("请输入新学生的姓名:");
    scanf("%s",f.name);
    printf("请输入新学生的学号:");
    scanf("%d",&f.num);
    printf("请输入新新学生的计算机成绩:");
    scanf("%d",&f.computer);
    printf("请输入新新学生的英语成绩:");
    scanf("%d",&f.math);
    printf("请输入新新学生的数学成绩:");
    scanf("%d",&f.english);
    students[count]=f;
    count++;
}
void search_student(struct student_list students[],char*name)
{
    int i,flag=0;
    if(count ==0){
        printf("学生信息列表是空的\n");
        return;
    }
    for(i=0;i<count;i++)
    if(strcmp(name,students[i].name)==0){
        flag=1;
            break;
    }
    if(flag){
        printf("姓名:%s\t",students[i].name);
        printf("计算机成绩:%d\t",students[i].computer);
        printf("数学成绩:%d\t",students[i].math);
        printf("英语成绩:%d\t",students[i].english);
        printf("平均成绩:%.2lf\t",students[i].average=(students[i].computer+students[i].math+students[i].english)/3.0);                    
        printf("学号:%d\n",students[i].num);    
    }
    else 
    printf("无此学生信息");
}

技术分享

作业十二