2019.12.6上机题(结构体)

1.输入n个人的姓名和电话,并按姓名首字母排序
#include <stdio.h>
#include <string.h>
#define N 3
char fun (char *name[N],int n)
{
int i,j;
char *temp;
for(i=0; i<N; i++)
if(strcmp(name[i],name[i+1]>0))
{
temp=name[i];
name[i]=name[i+1];
name[i+1]=temp;
}
}
struct NN
{
char name[4];
char number[11];
};

main()
{
struct NN str[N];
int i,j,n=0;
printf(“请输入10个客户的名字和电话号码:\n”);
for(i=0; i<3; i++)

    scanf("%s%s",str[i].name,str[i].number);

fun(str,N);
printf("排序后结果为:\n");
for(i=0; i<3; i++)
    printf("%s,%s",str[i].name,str[i].number);

}

输入n个学生的姓名和分数并得出平均分
#include <stdio.h>
#include <string.h>
#define N 50
struct score
{
float Ma;
float En;
float C;
float ave;
char name[3];

};
float fun(float a,float b,float c)
{
float ave;
ave=(a+b+c)/3.0;
return ave;
}

main()
{
int k,n=0;
char c[2];
struct score stu[N];
printf(“请输入一个同学的名字数学成绩,英语成绩,C语言成绩:\n”);
do
{
printf("\n第%d个学生姓名:",n+1);
scanf("%s",stu[n].name);
printf(“高数成绩,英语成绩,C语言成绩:”);
scanf("%f,%f,%f",&stu[n].Ma,&stu[n].En,&stu[n].C);
stu[n].ave=fun(stu[n].Ma,stu[n].En,stu[n].C);
n++;
printf("\n继续输入学生姓名和成绩请按y:");
scanf("%s",c);

}while(!(strcmp(c,"y"))||!(strcmp(c,"Y")));
printf("\n输出学生成绩:\n");
printf("姓 名         高等数学    英语成绩   C语言成绩   平均成绩\n");
for(k=0; k<n; k++)
{

    printf("%-16s%-10.2f%-10.2f%-10.2f%-8.2f\n",stu[k].name,stu[k].Ma,stu[k].En,stu[k].C,stu[k].ave);

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值