《C语言程序设计教程答案.pdf》由会员分享,可在线阅读,更多相关《C语言程序设计教程答案.pdf(18页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、C 语言程序设计教程答案 习题 1 1、算法描述主要是用两种基本方法:第一是自然语言描述,第二是使用专用工具进行算法描述 2、c 语言程序的结构如下:1)c 语言程序由函数组成,每个程序必须具有一个 main 函数作为程序的主控函数。2)/*与*/之间的内容构成 c 语言程序的注释部分。3)用预处理命令#include 可以包含有关文件的信息。4)大小写字母在 c 语言中是有区别的。5)除 main 函数和标准库函数以外,用户可以自己编写函数,程序一般由多个函数组成,这些函数制定实际所需要做的工作。例如:void main()int a,b,c,s;a=8;b=12;c=6;s=a+b*c;p
2、rintf(s=%dn,s);3、c 语言的特点:1)c 语言具有结构语言的特点,程序之间很容易实现段的共享;2)c 语言的主要结构成分为函数,函数可以在程序中被定义完成独立的任务,独立地编译成代码,以实现程序的模块化。3)c 语言运算符丰富,运算包含的范围很广;4)c 语言数据类型丰富。5)c 语言允许直接访问物理地址,即可直接对硬件进行操作,实现汇编语言的大部分功能;6)c 语言语法限制不太严格,程序设计自由度大,这样是 c 语言能够减少对程序员的束缚;7)用 c 语言编程,生成的目标代码质量高,程序执行效率高,可移植性好;4、合法标识符:AB12、leed_3、EF3_3、_762、PA
3、S、XYZ43K2 不合法标识符:a*b2、8stu、D.K.Jon、if、ave#xy、#_DT5、C.D 5、F2:将当前编辑器中文件存盘 F10:调用主菜单 F4:程序运行到光标所在行 Ctrl+F9:当前编辑环境下,进行编译、连接且运行程序;Alt+F5:将窗口切换到 DOS 下,查看程序运行结果 6、(1):*welcome you very good *(2):please input three number;5,7,8 max number is:8 7、main 8、User screen、Alt+F5 9、标识符必须是字母或下划线开头,大小写字母含义不同。由数字、字母和下划
4、线组成;关键字是一种语言中规定具有特定含义的标识符。关键字不能作为变量或函数名来使用,用户只能根据系统的规定使用它们。10、选择主菜单 File 项下拉子菜单中 Save项或直接按 F2 键存盘。习题 2 1、符合 C 语法规定的常数为:0 x1e、abn、1.e5 2、(1):错误如下:int x,y=5,z=5,aver;x=7;aver=(x+y+x)/3;结果如下:AVER=5 (2):错误如下:char c1=a,c2=b,c3=c;printf(a=%db=%cendn,a,b);结果如下:a=3b=Aend aabcc abc 3、4、(1):9,11,9,10 (2):3,1,
5、0,0 (3):11,19,31,1 5、(1):0 (2):0 (3):9.500000 (4):90 (5):10 (6):10 (7):65 (8):4 (9):4.500000 (10):1 (11):0 (12):20 (13):0 6、(5)7、求 x 的绝对值 8、c(max=ab?a:b)?c:max;9、B 10、D 习题 3 1、输入函数 scanf 的参数错误,应该为:scanf(%f,&k);2、|1234 1234|3、ff10 4、1,3,1 5、原字符串左边加空格再加字符串本身,字符个数总和为 5 个 6、scanf(%d,%d,%c,%c,&a1,&a2,&c1
6、,&c2);7、printf(a+b=%dn,a+b);printf(a-b=%dn,a-b);printf(a*b=%dn,a*b);printf(a/b=%dn,a/b);printf(float)a/b=%fn,(float)a/b);printf(a%b=%dn,a%b);8、void main()float r;float s,c;printf(please input the number:);scanf(%f,&r);if(r=0)s=3.14*r*r;c=2*3.14*r;printf(s=%f,c=%fn,s,c);else printf(you input number i
7、s error!);9、void main()int n;printf(please input the number:);scanf(%d,&n);if(n=100&n c|a+c b|b+c a)s=(a+b+c)/2;Area=sqrt(s*(s-a)*(s-b)*(s-c);printf(%fn,Area);else printf(you input the number is error!n);习题 4 1:0 2:20 3:(x20)|(x-100)4:*a=25,b=14,c=16*5:37 6:if(a=b)printf(1);else printf(2);7、#include
8、 void main()char a,b,t1,t2;scanf(%c,%c,&a,&b);t1=ab?a:b;t2=ab?a:b;if(t1-t2)%2=0)printf(%c,%c,a+1,b+1);else printf(%c,%c,a-1,b-1);getch();8、#include void main()int temp1=0,temp2=0,x,y,i=1;printf(Please input(x,y):);scanf(%d,%d,&x,&y);while(i*y)shang=%d,yushu=%d,x,y,temp2,x-y*temp2);getch();9、#include
9、 void main()float x,y,m=0,n=0;scanf(%f,%f,&x,&y);n=(x-2)*(x-2);m=(y-2)*(y-2);if(m+n)=1)printf(%.3f,%.3f)In the yuan,x,y);else printf(%.3f,%.3f)out of the yuan,x,y);getch();10、#include void main()int temp=0,month,year;printf(Please input(year,month):);scanf(%d,%d,&year,&month);if(year%400=0)|(year%4=
10、0&year%100!=0)temp=1;if(month=2)if(temp)printf(%d year%d month have 29,year,month);else printf(%d year%d month have 28,year,month);else if(month%2=0)printf(%d year%d month have 30,year,month);else printf(%d year%d month have 31,year,month);getch();11、switch(a/10)case 5:m=4;break;case 4:m=3;break;cas
11、e 3:m=2;break;case 2:m=1;break;default:m=5;12、方法一:#include void main()int x,y;scanf(%d,&x);if(x-5)y=x-1;else if(x=0)y=x;else if(x0&x8)y=x+1;printf(%d,y);getch();方法二:#include void main()int x,y;scanf(%d,&x);if(x-5)if(x=0)y=x;else if(x0&x8)y=y=x+1;else y=x-1;printf(%d,y);else printf(Input error!);getc
12、h();方法三:#include void main()int x,y,i;scanf(%d,&x);if(x-5)if(x=0)i=1;else if(x0&x8)i=2;else i=3;else i=4;switch(i)case 1:y=x;printf(%d,y);break;case 2:y=x+1;printf(%d,y);break;case 3:y=x-1;printf(%d,y);break;case 4:printf(Input error!);break;getch();习题 5 1、void main()int n,value;int i,count=0;float
13、average=0;long int sum=0;scanf(%d,&n);for(i=0;i=A&ch=a&ch=0&ch=9)sz+;ch=getchar();printf(zm=%d ;sz=%dn,zm,sz);3、void main()long i_value;int sum=0;int temp=0;scanf(%ld,&i_value);if(i_value=A&ch=a&ch 500)break;printf(the%d years later complete!n,count);6、void main()int i,temp=0,bit=0;for(i=1;i=999;i+)
14、if(i%3=0)temp=i;for(;temp!=0;)bit=temp%10;if(bit=5)printf(%d,i);break;temp=temp/10;printf(b n);7、#include int main(void)int steps=29,i=1;while(steps%7)steps=(30*+i)-1;printf(Total steps:%dn,steps);return 0;8、main()int i,j,k,n;printf(the narcissus number is:n);for(n=100;n1000;n+)i=n/100;j=n/10-i*10;k
15、=n%10;if(i*i*i+j*j*j+k*k*k=n)printf(%dn,n);9、main()float i,j,temp,n,sum;int t;i=2;j=1;sum=0;scanf(%d,&t);for(n=1;n=t;n+)sum=sum+i/j;temp=i;i=i+j;j=temp;printf(2/1+3/2+5/3+8/5+13/8+.=%fn,sum);10、void main()int nWidth,a,b;scanf(%d,&nWidth);for(a=(nWidth%2);a=nWidth;a+=2)for(b=0;b=nleft&bnright)chOut=*
16、;printf(%c,chOut);printf(n);11、void main()int i=1,j=1;for(i=1;i=9;i+)for(j=1;j=i;j+)printf(%d*%d=%d,i,j,i*j);printf(n)12、#include stdio.h void main()char c;/count1 是正数的个数 /count2 是负数的个数 int count1=0,count2=0;/sum1 是正数之和 /sum2 是负数之和 int sum1=0,sum2=0;int flage=0;c=getchar();while(c!=*)if(c=-)flage=1;
17、if(flage=0)sum1+=(c-48);count1+;else if(c!=-)sum2-=(c-48);flage=0;count2+;c=getchar();printf(%d,%dn,count1,count2);printf(%f,%fn,sum1/count1,sum2/count2);13、void main()int i,j;int s=0;for(i=100;i=999;i+)s=0;for(j=1;j i-1;j+)if(i%j=0)s=s+j;if(s=i)printf(%5d,i);14、#include#include void main()int n;lon
18、g k=1;float e=1;n=1;clrscr();while(fabs(1.0/k)=0.000001)n+;e=e+1.0/k;k=k*n;printf(%fn,e);15、#include math.h main()float x0,x1,x2,f0,f1,f2;x1=-10;f1=2*x1*x1*x1-4*x1*x1+3*x1;x2=10;f2=2*x2*x2*x2-4*x2*x2+3*x2;do x0=(x1+x2)/2;f0=2*x0*x0*x0-4*x0*x0+3*x0;if(f0*f1)1e-6);printf(_2*x*x*x-4*x*x+3*x=0_n);printf
19、(the root is%fn,x0);习题 6 1、#include int divisor(int a,int b)int r;while(r=a%b)!=0)a=b;b=r;return b;int multiple(int a,int b)int d;d=divisor(a,b);return a*b/d;void main()int a,b,c,d;printf(intput(a,b):);scanf(%d,%d,&a,&b);c=divisor(a,b);d=multiple(a,b);printf(ndivisor=%dttmultiple=%d,c,d);2、#include
20、void tongji(char a)int b3=0,0,0,i=0;while(ai!=0)if(ai=65)|(ai=97)、b0+;else if(ai=48)b1+;else b2+;i+;printf(zimu have:%d;shuzi have:%d;qita have:%d,b0,b1,b2);getch();void main()char a100;printf(Please input a string:);gets(a);tongji(a);3、#include int flower(int n)int x=0,i,j,k;i=(n%10);j=(n/10%10);k=
21、(n/100);x=i*i*i+j*j*j+k*k*k;if(x=n)return 1;else return 0;void main()int i,n;printf(Please intput n:);scanf(%d,&n);if(n999|n100)printf(Input error!);else for(i=100;in;i+)if(flower(i)printf(%d ,i);getch();4、#include#define SWAP(a,b)t=b;b=a;a=t;main()float x,y,t;printf(Enter two number(x,y):);scanf(%f
22、,%f,&x,&y);SWAP(x,y);printf(nnExchanged:x=%f,y=%f,x,y);getch();5、#include int fib(int n)int p;if(n=0)p=0;else if(n=1)p=1;else p=fib(n-1)+fib(n-2);return p;void main()int n;printf(Please input fib:);scanf(%d,&n);printf(nnfibonacci=%d,fib(n);6、#include long fac(int n)long f;if(n=0)f=1;else f=n*fac(n-1
23、);return f;void main()int m,n;long f;printf(Please input(m,n):);scanf(%ld,%ld,&m,&n);f=fac(n+m)+fac(n);printf(nnfibonacci=%ld,f);7、#include void list()int i,j;for(i=1;i=9;i+)for(j=1;j=i;j+)printf(%d*%d=%d,i,j,i*j);printf(n);void main()list();8、#include int he(int n)int i,s=0;for(i=1;in;i+)if(n%i=0)s
24、+=i;return s;void main()int i,j;for(i=1;i30000;i+)for(j=1;j30000;j+)if(he(i)=j)&(he(j)=i)&(i!=j)printf(%d%d ,i,j);9、#include#define max 100 struct work long sid;char name15;workermax;int size=0;struct work*set_list()do printf(nnPlease input(sid,name):);scanf(%ld,%s,&workersize.sid,workersize.name);s
25、ize+;while(workersize-1.sid!=0);return worker;void paixu(struct work a)int i,j,k;long t;char v15;for(i=0;isize-1-2;i+)k=i;for(j=i;jaj.sid)k=j;if(k!=i)t=ai.sid;ai.sid=aj.sid;aj.sid=t;strcpy(v,ai.name);strcpy(ai.name,aj.name);strcpy(aj.name,v);for(i=0;i=size-2;i+)printf(sid:%ldtname:%snn,ai.sid,ai.nam
26、e);getch();void select(struct work a)int i=0,found=1;long num;printf(Input select sid:);scanf(%ld,&num);for(i=0;i=size-2;i+)if(ai.sid=num)found=0;printf(%ld:%s,num,ai.name);break;if(found)printf(nnNO this sid!);getch();void main()struct work*p;p=set_list();paixu(p);select(p);10、#include float jieche
27、ng(int n)long s=1;int i;for(i=1;i=n;i+)s=s*i;return s;float chengfang(float x,int n)float s=1;int i;for(i=1;i=n;i+)s=s*x;return s;float f(float x,int n)float s=1,t=0;int i=1,j=-1;for(i=1;i=0 ak=temp break k=8 2)%s stri=Z cstri+26-a+i+a 4、/*题目:求一组成绩的平均分数以及高于平均分的成绩。*/#include#define max 100 void main(
28、)float amax,s=0,average=0;int i,n;printf(Please input N:);/*输入要处理元素的个数*/scanf(%d,&n);printf(nPlease input%d ge shu:,n);/*输入 90,85,92,77,80,62*/for(i=0;in;i+)scanf(%f,&ai);s+=ai;average=s/n;printf(naverage=%.2fn,average);/*输出 81.00*/for(i=0;iaverage)printf(%.2f ,ai);/*输 出90.00,85.00,92.00*/5、/*题目:编写程
29、序,输入一组整数,将他们排序后由小到大输出。*/#include#define max 100 void main()int amax,j,i,k=0,t=0,n=0;printf(Please input N:);/*输入要处理元素的个数*/scanf(%d,&n);for(i=0;in;i+)scanf(%d,&ai);for(i=0;in-1;i+)/*比较 n-1 遍*/k=i;for(j=i+1;jaj)k=j;if(k!=i)/*元素排序前下标与排序后下标不符,则交换其值*/t=ai;ai=ak;ak=t;printf(nn);for(i=0;in;i+)printf(%d ,ai
30、);6、/*题目:从键盘输入一个 4x4 的整数矩阵,以主对角线()为对称轴*/*将左下角元素中较大者替换右上角元素,并将右上角含对称轴输出。*/#include#include void main()int d44=0,0,0,0,i,j;clrscr();printf(nPlease input 16 num:);for(i=0;i4;i+)for(j=0;j4;j+)scanf(%d,&dij);for(i=0;i4;i+)for(j=0;jdji)/*左下角元素大于右上角元素则交换*/dji=dij;for(i=0;i4;i+)printf(nnnnn);/*为了保持每行的间隔与每列的
31、相同*/for(j=0;j=i)printf(t%d,dij);/*为了使位数不同的数输出依然保持三角型*/else printf(t);7、*题目:输入一个 3x4 的二维数组,然后分别按行和按列输出。*/#include#include void main()int d34=0,0,0,0,i,j;printf(Please input 12 num:);for(i=0;i3;i+)for(j=0;j4;j+)scanf(%d,&dij);printf(nnAn hang:);for(i=0;i3;i+)for(j=0;j4;j+)printf(%d ,dij);printf(nnAn l
32、ie:);for(i=0;i4;i+)for(j=0;j3;j+)printf(%d ,dji);8、/*题目:编写程序,将两个字符串连接起来,不用 strcat 函数。*/#include#include void main()char s150,s250;int i=0,j=0,t=0;printf(Input one:);gets(s1);while(s1i!=0)i+;/*统计 s1中字符个数*/printf(nnInput second:);gets(s2);while(s2j!=0)j+;/*统计 s2中字符个数*/for(t=0;t=j;t+)/*把 s2 中字符连接到 s1 后
33、面*/s1i=s2t;i+;printf(nnone+second:);puts(s1);9、/*输入一行字符串,统计字符对 ab 的个数。*/#include#include#define MAX 100 void main()char strMAX;int i=0,flage=0;int count=0;printf(nPlease input a string:);gets(str);while(stri)if(stri=a)flage=1;else if(stri=b)if(flage=1)count+;flage=0;else flage=0;i+;printf(the double
34、 char ab count is%dn,count);10、#include /*相对于第一种方法,这种方法能把同为最大的字符串全部打印出来。*/#include int paixu(int a,int n)/*构造对长度为 n的数组排序的函数*/int i,j,t,k,temp;for(i=0;in-1;i+)k=i;for(j=i+1;jaj)k=j;if(k!=i)t=ai;ai=ak;ak=t;temp=an-1;return temp;/*返回最大字符串的长度的值*/void main()char str150,str250,str350,str450,str550,str650;
35、char str750,str850,str950,str1050;int count10=0,temp10=0,i,j;int paixu(int a,int n);for(i=1;i=10;i+)/*输入10个字符串*/printf(nPlease input%d string:,i);if(i=1)gets(str1);while(str1count0)count0+;temp0+;if(i=2)gets(str2);while(str2count1)count1+;temp1+;if(i=3)gets(str3);while(str3count2)count2+;temp2+;if(i
36、=4)gets(str4);while(str4count3)count3+;temp3+;if(i=5)gets(str5);while(str5count4)count4+;temp4+;if(i=6)gets(str6);while(str6count5)count5+;temp5+;if(i=7)gets(str7);while(str7count6)count6+;temp6+;if(i=8)gets(str8);while(str8count7)count7+;temp7+;if(i=9)gets(str9);while(str9count8)count8+;temp8+;if(i
37、=10)gets(str10);while(str10count9)count9+;temp9+;j=paixu(temp,10);for(i=1;i=10;i+)if(counti-1=j)/*只要字符串长度与最大长度相等就打印出来*/switch(i)case 1:puts(str1);printf(n);break;case 2:puts(str2);printf(n);break;case 3:puts(str3);printf(n);break;case 4:puts(str4);printf(n);break;case 5:puts(str5);printf(n);break;ca
38、se 6:puts(str6);printf(n);break;case 7:puts(str7);printf(n);break;case 8:puts(str8);printf(n);break;case 9:puts(str9);printf(n);break;case 10:puts(str10);printf(n);break;11、/*给数组 a 输入 m 个按升序排列的数,给数组 b 输入 n 个按降序排列的数*/*将 a 与 b 中的元素按降序排列存在数组 c中。*/#include void main()int a100,b100,c100,i,m,n,j,k,temp=0,
39、s;printf(nm=);scanf(%d,&m);/*确定 M 的个数*/printf(nn=);scanf(%d,&n);/*确定 N 的个数*/printf(nPlease input m ge shu:);for(s=0;sm;s+)scanf(%d,&as);printf(nPlease input n ge shu:);for(s=0;sn;s+)scanf(%d,&bs);i=m-1;j=0;k=0;/*i,j,分别标记a与 b且都是从最大元素开始做标记*/for(;)if(i=0)/*a中只有一个数或者 a处理到了最后一个元素*/if(ai=bj)/*如果 a的最后一个元素=
40、b中当前元素*/ck=bj;k+;j+;else ck=ai;k+;for(;)/*把b数组接到 c后面*/ck=bj;j+;k+;if(j=n)/*如果 b处理完,结束。并做标记 temp=1*/temp=1;break;if(temp=1)break;/*标 记temp=1,全部处理结束*/if(aibj)&(i!=0)&(j!=n)ck=ai;i-;k+;if(j=n)/*b处理到完*/for(;)/*把b数组接到 c后面*/if(i=0)/*如果 a处理完,结束。并做标记 temp=1*/ck=ai;temp=1;break;ck=ai;i-;k+;if(temp=1)break;/*
41、标记temp=1,全部处理结束*/for(s=0;s=*q;q+(2)i11&ai i-;if(i=0)break;i!=0 4、/*题目:输入一个字符串,再删除指定的字符*/*如果字符串中没有指定字符,则输出原字符串。*/#include void fun(char*str,char c)char*p;for(p=str;*p!=0;p+)if(*p!=c)*str+=*p;*str=0;void main()char str80,c;printf(nPlease input a string:);gets(str);printf(nnPlease input delete char:);s
42、canf(%c,&c);fun(str,c);puts(str);getch();5、/*从键盘输入单词,每个单词之间用空格隔开,“.”号结束输入,*/*将每个单词的第一个字母转化成大写字母。*/#include#include char zhuanhua(char c)/*定义将小写字母转化为大写字母的函数*/char C;if(c=a&c=z)/*是小写字母就转化,不是则原样返回*/C=c-32;else C=c;return C;/*此函数防止有标点符号或者第一个字母本身是大写字母*/void main()char a100,*p=a;int i=1,j;a0=;p+;/*为方便下面的i
43、f语句,初始化 a0为空格*/printf(nPlease input a string:);for(;)scanf(%c,p);if(*p=.)break;p+;i+;ai=0;for(j=1;ji;j+)if(aj-1=&aj!=)/*第一个字母前面可能有很多空格*/aj=zhuanhua(aj);/*调用转化函数,使其变为大写字母*/p=a;while(*p)printf(%c,*p);p+;getch();6、/*输入 8 个数,排序后输出。*/#include#include void main()int data8,i,*p1,*p2,temp;p1=data;printf(nIn
44、put 8 number:);for(i=0;i8;i+)scanf(%d,p1);p1+;for(p1=data;p1data+8-1;p1+)for(p2=p1+1;p2data+8;p2+)if(*p1*p2)temp=*p1;*p1=*p2;*p2=temp;for(i=0,p1=data;i8;i+,p1+)printf(%d ,*p1);getch();7、/*题目:输入一个字符串,将此字符串的 m 个字符开始的第 n 个字符复制到另一个字符串。*/#include void main()int m,n,i;char a100,b100,*p,*q;printf(Please in
45、put a string:);gets(a);p=a;q=b;printf(nnPlease input m and n(like 1,1):);scanf(%d,%d,&m,&n);if(strlen(a)=m)&(strlen(a)-m+1)=n)/*复制的位置要符合要求*/p+=m-1;/*指针指向第一个要复制的字符*/for(i=0;in;i+)*q=*p;p+;q+;*q=0;printf(String a is:%sn,a);printf(string b is:%sn,b);else printf(nError!);/*复制的位置不符合要求,打印错误*/getch();8、/*输
46、入 8 个数,将最大的数与第一个数对换。*/*将最小的数与最后一个数对换*/#include void main()int a100,temp1=0,temp2=0,max=0,min=0,k;printf(nPlease input 8 ge shu:);for(k=0;k8;k+)scanf(%d,&ak);if(akamax)max=k;/*用标记 max 最大值的下标*/if(min=0)if(max=7)temp1=a0;a0=a7;a7=temp1;else temp2=a7;a7=amin;a0=amax;amax=temp2;else if(max=0)if(min!=7)te
47、mp2=a7;a7=amin;amin=temp2;else if(min=7)temp1=a0;a0=amax;amax=temp1;else if(max=7)temp2=a7;a7=amin;amin=a0;a0=temp2;else temp1=a0;temp2=a7;a0=amax;a7=amin;amin=temp2;amax=temp1;for(k=0;k8;k+)printf(%d ,ak);getch();9、/*输入 n 个数,并排序后输出。*/#include#include int*paixu(int data,int n)int i,*p1,*p2,temp;p1=d
48、ata;for(p1=data;p1data+n-1;p1+)for(p2=p1+1;p2data+n;p2+)if(*p1*p2)temp=*p1;*p1=*p2;*p2=temp;p1=data;return p1;void main()int n,a100,i,*p=a;printf(Please input n:);scanf(%d,&n);printf(nnPlease enter%d ge shu:,n);for(i=0;in;i+)scanf(%d,p);p+;p=paixu(a,n);for(i=0;in;i+,p+)printf(%d,*p);getch();10、#incl
49、udestdio.h#define max 1042 main()float j,amax;int t,i=0;char bmax,*p=b;clrscr();printf(Enter a string:);gets(b);while(*p!=0)ai=0;while(*p)=0)&(*p)!=0)t=(int)(*p-48);ai=ai*10+t;p+;if(*p)9|(*p)0)i+;p+;for(j=0;ji;j+)printf(t%.0f,aj);printf(nALL%d,i);习题 9 1、li 45 300.0 chang 30 200.0 chang 2、#include st
50、ruct students char sid100;char name100;float score3;student;void main()int i;float j;printf(nPlease input sid:);scanf(%s,student.sid);printf(nPlease input name:);scanf(%s,student.name);printf(nPlease input 3 score:(like1,1,1);/*输入逗号隔开*/scanf(%f,%f,%f,&student.score0,&student.score1,&student.score2);