c语言 编程 结构体 建立一个结构体类型,编写c语言程序。

c\u8bed\u8a00\u7f16\u7a0b \u7ed3\u6784\u4f53

#include
#include
typedef struct tagsalesperson
{
char name[20];
float task,sales,bonus;
}salesperson;
int main()
{
int n,i,j,min;
double wch;
salesperson t,*ptsales;

printf("\u8bf7\u8f93\u5165\u9500\u552e\u5458\u4eba\u6570\uff1a");
scanf("%d",&n);
ptsales=(salesperson*)calloc(n,sizeof(salesperson));
for(i=0;i<n;i++)
{
printf("\u8bf7\u8f93\u5165\u7b2c%d\u4e2a\u9500\u552e\u4eba\u5458\u7684\u59d3\u540d\uff1a",i+1);
scanf("%s",ptsales[i].name);
printf("\u8bf7\u8f93\u5165\u7b2c%d\u4e2a\u9500\u552e\u4eba\u5458\u7684\u4efb\u52a1\u91cf\uff0c\u5b8c\u6210\u91cf\uff1a",i+1);
scanf("%f %f",&ptsales[i].task,&ptsales[i].sales);
wch=ptsales[i].sales/ptsales[i].task;
ptsales[i].bonus=0;
if(wch>0.4 && wch<=0.8)
{
ptsales[i].bonus+=(wch-0.4)*0.008*ptsales[i].task;
}
else if(wch>0.8)
{
ptsales[i].bonus+=(wch-0.8)*0.01*ptsales[i].task+0.4*0.008*ptsales[i].task;
}
}
for(i=0;i<n-1;i++)
{
min=i;
for(j=i+1;j<n;j++)
{
if(ptsales[j].bonus<ptsales[min].bonus)
{
min=j;
}
}
t=ptsales[i];
ptsales[i]=ptsales[min];
ptsales[min]=t;
}
puts("\u6309\u6548\u76ca\u5de5\u8d44\u5347\u5e8f\u6392\u5e8f\u540e\uff0c\u5404\u9500\u552e\u5458\u7684\u4fe1\u606f\u5982\u4e0b\uff1a");
printf("%-12s%-18s%-18s%-22s\n","name","task","sales","bonus\uff08\u4e07\u5143\uff09");
for(i=0;i<n;i++)
{
printf("%-12s%-18f%-18f%-22f\n",ptsales[i].name,ptsales[i].task,ptsales[i].sales,ptsales[i].bonus);
}
system("PAUSE");
return EXIT_SUCCESS;
}

#include
char *SubjectName[] = {"\u6570\u5b66","\u7269\u7406","\u5316\u5b66","\u751f\u7269","\u8bed\u6587","\u5916\u8bed","\u653f\u6cbb","\u5386\u53f2","\u4f53\u80b2","\u7f8e\u672f","\u97f3\u4e50"}; //\u79d1\u76ee\u540d\u79f0\u5217\u8868 \u53ef\u8c03\u6574\u987a\u5e8f
#define SUBJECT 2 //\u79d1\u76ee\u6570 \u53ef\u8bbe\u5b9a 1 - 11\u95e8\uff0c\u8d85\u8fc711\u95e8\u65f6\u5f97\u6dfb\u52a0\u4e0a\u884c\u79d1\u76ee\u540d\u79f0\u5217\u8868
#define STUDENTS_MAX 100 //\u6700\u5927\u53ef\u8f93\u5165\u7684\u5b66\u751f\u6570\u91cf \u6839\u636e\u5b9e\u9645\u60c5\u51b5\u8c03\u6574

typedef struct student{char name[12]; float core[SUBJECT+1];} Student;//\u6700\u957f\u59d3\u540d\u53ea\u8bb8\u6709\u4e94\u4e2a\u6c49\u5b57\u957f\u5ea6\uff0c\u8d85\u957f\u4f1a\u51fa\u9519 \u6539\u4e00\u4e0b\u8fd9\u4e2a\u540d\u5b57\u957f\u5ea6\u6216\u89c4\u5b9a\u540d\u5b57\u6700\u957f5\u4e2a\u5b57\u591a\u4f59\u7684\u4e0d\u8f93\u5165\u4e5f\u6210

Student Stu[STUDENTS_MAX]; //\u7ed3\u6784\u4f53\u6570\u7ec4 \u5168\u5c40\u53d8\u91cf \u867d\u53ef\u4ee5\u4e0d\u7528\u5168\u5c40\u7684\uff0c\u8981\u662f\u4f60\u81ea\u5df1\u5199\u4e86\u5f88\u591a\u51fd\u6570\uff0c\u90fd\u8981\u8bbf\u95ee\u5b83\u4eec\uff0c\u4e0d\u5982\u5c31\u8ba9\u5b83\u4eec\u505a\u5168\u5c40\u53d8\u91cf\u7684\u597d

void main()
{
int total,i,j,k;
printf("\u8bf7\u8f93\u5165\u5b66\u751f\u603b\u6570[1-%d]:",STUDENTS_MAX);
scanf("%d",&total);

if(total>STUDENTS_MAX){printf("\u8d85\u51fa\u8bbe\u8ba1\u603b\u6570\u4e86");exit(-1);}
else if(total<1){printf("\u6ca1\u6709\u5b66\u751f\u7edf\u8ba1\u4e2a\u5c41\u5440"); exit(-1);}

printf("\u8bf7\u8f93\u5165\u5b66\u751f\u6210\u7ee9,\u683c\u5f0f:\n\t\u59d3\u540d ");
for(j=0;j<SUBJECT;j++) printf("%s ",SubjectName[j]);
printf("\n");
for(i=0;i<total;i++)
{
Stu[i].core[SUBJECT]=0.0;//\u5e73\u5747\u5206
printf("No.%-3d ",i+1);
fflush(stdin); //\u6e05\u8f93\u5165\u7f13\u51b2\u533a
scanf("%s %f",Stu[i].name,&Stu[i].core[0]); //\u81f3\u5c11\u6709\u4e00\u95e8\u79d1\u76ee\u7684
for(j=1;j<SUBJECT;j++) //\u5176\u5b83\u79d1\u76ee \u5b9a\u4e49\u4e86\u591a\u5c11\u5c31\u8f93\u5165\u591a\u5c11
{
scanf("%f",&Stu[i].core[j]);
Stu[i].core[SUBJECT] += Stu[i].core[j];
}
Stu[i].core[SUBJECT] /= SUBJECT; //\u5e73\u5747\u5206 \u53ea\u662f\u6c42\u4e86\u6ca1\u6709\u8f93\u51fa
}

printf("\n\u4e0d\u53ca\u683c\u60c5\u51b5\u7edf\u8ba1:\n");
for(k=0,i=0;i<total;i++)
{
char putbuf[128],buf1[5];
int flag = 0;
strcpy(putbuf,Stu[i].name); //\u8bb0\u4e0b\u540d\u5b57
for(j=0;j<SUBJECT;j++)
if(Stu[i].core[j]<60)
{
flag++;
strcat(putbuf," ");
strcat(putbuf,SubjectName[j]);//\u4e0d\u53ca\u683c\u7684\u79d1\u76ee\u540d\u79f0
strcat(putbuf,":");
sprintf(buf1,"%4.1f",Stu[i].core[j]);strcat(putbuf,buf1);//\u5206\u6570
}
if(flag)
{
printf("%s %d\u95e8\u4e0d\u53ca\u683c\n",putbuf,flag); //\u6709\u4e0d\u53ca\u683c\u5219\u8f93\u51fa
k++; //\u7edf\u8ba1\u4e0d\u53ca\u683c\u4eba\u6570
}
}
if(!k)
printf("\u6ca1\u6709\u4e0d\u53ca\u683c\u7684\u5b66\u751f");
else
printf("\u6709\u4e0d\u53ca\u683c\u79d1\u76ee\u7684\u5b66\u751f\u4e2a\u6570:%d",k);
}
//\u5e38\u770b\u5230\u6709\u8981\u8fd9\u7c7b\u7a0b\u5e8f\u7684\uff0c\u4eca\u5929\u5199\u4e00\u4e2a\uff0c\u7ed9\u5927\u5bb6\u53c2\u8003\uff0c\u522b\u5929\u5929\u4e0a\u6765\u8981\u7a0b\u5e8f\u554a\uff0c\u4eff\u7167\u8fd9\u4e2a\u81ea\u5df1\u7f16\u5427
//\u7a0b\u5e8f\u5728VC7.1\u4e0b\u7f16\u8bd1\u901a\u8fc7,\u6d4b\u8bd5\u8fd0\u884c\u6b63\u5e38

区别就是一个是变量,一个是指针,变量用.点指向结构体内部成员,指针用->箭头。
Scala

我也不会,可能是一种class类型

扩展阅读:c++和python先学哪个 ... c#编程入门实例 ... c++编程 ... c#简单程序实例 ... c语言编译器下载手机版 ... c语言结构体真题试题 ... c#编程软件手机版 ... c#一般用来开发什么 ... c语言结构体类型的编程题 ...

本站交流只代表网友个人观点,与本站立场无关
欢迎反馈与建议,请联系电邮
2024© 车视网