#include<string.h>
struct student
{
int id //学号
char name[10]//姓名
int brithday
char sub[10]
int banji
char adress[20]
int dom
}stud[3]
void save()
{
FILE *p
int i
if((p=fopen("aa","wb"))==NULL)
{
printf("cannot open file")
return
}
for(i=0i<3i++)
if(fwrite(&stud[i],sizeof(struct student),1,p)!=1)
printf("file write error\n")
fclose(p)
}
void message()//输学生的基本信息
{
int i
for(i=0i<=2i++)
{ printf("请输入第%d位学生的信息,",i+1)
printf("请输入学号:")
scanf("%d",&stud[i].id)
printf("姓名:")
scanf("%s",stud[i].name)
printf("请输入生日:")
scanf("%d",&stud[i].brithday)
printf("请输入专业:")
scanf("%s",stud[i].sub)
printf("请输入班级:")
scanf("%d",&stud[i].banji)
printf("请输入地址:")
scanf("%s",stud[i].adress)
printf("请输入寝室号:")
scanf("%d",&stud[i].dom)
}
}
void main()
{
message()
save()
int i,t=0,m=0,j=0
FILE *p
if((
p=fopen("aa","rb"))==NULL)
{
printf("cannot open file\n")
return
}
printf("*******************************************************\n")
for(i=0i<=2i++)
{fread(&stud[i],sizeof(struct student),1,p)}
printf("请输入要查询的姓名:")
char a[10]
scanf("%s",&a)
for(i=0i<3i++)
if(strcmp(stud[i].name,a)==0)
printf("姓名%s、学号%d、出生年月%d、专业%s、班级%d、家庭地址%s、宿舍号码%d\n",stud[i].name,stud[i].id,stud[i].brithday,stud[i].sub,stud[i].banji,stud[i].adress,stud[i].dom)
}
#include <stdio.h>int main() {
int score
char grade
printf("请输入成绩:")
scanf("%d", &score)
switch (score / 10) {
case 10:
case 9:
grade = 'A'
break
case 8:
grade = 'B'
break
case 7:
grade = 'C'
break
case 6:
grade = 'D'
break
default:
grade = 'E'
break
}
printf("成绩等级为:%c\n", grade)
return 0
}
在程序中,先定义了一个整型变量 score 和一个字符型变量 grade,用来分别存储输入的成绩和计算出的等级。然后,使用 scanf 函数从键盘上读入成绩,使用除法运算将成绩转化为 1~10 的整数,并将其作为 switch 语句的选择器。根据成绩范围,使用不同的 case 标号计算出等级,并将其赋值给 grade 变量。最后,使用 printf 函数输出等级。
注意,在 switch 语句中,可以使用多个 case 标号来表示同一种情况,这样可以简化代码。例如,case 10 和 case 9 都表示成绩在 90 分以上的情况,因此可以将它们写在一起。另外,在 switch 语句中,必须使用 break 语句来结束每个 case 分支,否则程序将继续执行后面的 case 分支。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)