第12次作业+总结
#include<stdio.h> #include<string.h> int main() { int i; char sx[80],smax[80]; scanf("%s",sx); strcpy(smax,sx); for(i=1;i<5;i++){ scanf("%s",sx);
if(strcpy(sx,smax)<0) strcpy(smax,sx); } printf("max is %s\n",smax); return 0; }
#include <stdio.h> int main() { int a=0,b=0,c=0,d=0; char e; printf("请输入一段字符:\n"); while((e=getchar())!='\n') { if(e==' ') { a++; } if(e>='0' && e<='9') { b++; } if((e>=65&&e<=90)||(e>=97&&e<=122)) { c++; } else { d++; } } printf("共输入空格%d个\n",a); printf("共输入数字%d个\n",b); printf("共输入字母%d个\n",c); printf("共输入其他字符%d个\n",d); return 0; }
#include<stdio.h> #include<string.h> struct students_list{ char name[10]; int computer,math,english; int num; double average; }; int Count=0; void new_student(struct students_list students[]); void search_student(struct students_list students[],char *name); void print_student(struct students_list students[]); int main() { int choice; char name[10]; struct students_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 new_student(struct students_list students[]) { struct students_list f; if(Count==50){ printf("信息列表已满!\n"); return; } printf("请输入新学生的姓名:"); scanf("%s",f.name); printf("请输入新学生的语文成绩:"); scanf("%d",&f.computer); printf("请输入新学生的数学成绩:"); scanf("%d",&f.math); printf("请输入新学生的英语成绩:"); scanf("%d",&f.english); printf("请输入新学生的学号:"); scanf("%d",&f.num); students[Count]=f; Count++; } void search_student(struct students_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("无此学生信息!"); } void print_student(struct students_list students[]) { printf("学生信息列表的学生信息如下:\n"); int i; for(i=0;i<Count;i++) { printf("%s\t%d\t%d\t%d\t%.2lf\t%d\t\n",students[i].name,students[i].computer,students[i].math,students[i].english,students[i].average,students[i].num); } }
1、知识点
1.字符串和字符指针:如果定义一个字符指针接收字符串常量的值,该指针就指向字符串的首字符。这样,字符数组和字符指针都可以用来处理字符串;
2.常用的字符串处理函数:字符串的输入和输出:函数scanf()和gets()可用来输入字符串,而printf()和puts()输出字符串。它们在系统文件stdio.h中定义。
3.结构的概念与定义:结构是C语言中一种新的构造数据类型,它能够把有内在联系的不同类型的数据汇聚成一个整体,使它们相互关联;同时,结构又是一个变量的集合,可以按照对基本数据类型的操作方法单独使用其成员变量。
4.结构的嵌套定义:在定义嵌套的结构类型时,必须先定义成员的结构类型,再定义主结构类型。
5.结构变量的定义和初始化
三种定义结构变量的方式:1单独定义:先定义结构类型,再定义具有这种结构类型的变量;2混合定义:在定义结构类型的同时定义结构体变量;3无类型名定义:在定义结构体变量时省略结构体名;
6.结构变量的使用
1结构变量成员的引用;
2结构变量的整体赋值;
3结构变量作为函数参数。
二、实验过程中遇到的问题及解决方法:
1问题:打代码的时候打的打的就把单词打错了,然后还发现不了单词错在哪里,对单词的熟练程度很低。
2解决方法:打的时候尽量看书慢慢打,不要打错了,然后多背下,尽量以后不看书也懂打的出来。
三、实验心得体会
这次作业写的时候要细心,打的时候不小心就打错了,找起来很麻烦,所以要求细心,字符串的应用不熟练,接近期末了,学的很多,但是懂的不多,有些都忘记完咯。要有空的时候多看看,多多练习。