若定义: int a[3][4], *p; 则以下不能对指针p进行初始化的是()。
A.p=*a;
B.p=a[0];
C.p=a;
D.p=&a[0][0];
A.p=*a;
B.p=a[0];
C.p=a;
D.p=&a[0][0];
A、变量的初始值或缺省值有错误
B、输入的实际参数与形式参数的个数不相同
C、提示的错误与实际的错误不相符
D、一个模块的功能是否会对另一个模块的功能产生不利影响
A、for(p=a; a<(p+10); a++) { printf("%d\t",*p);> B、for(p=a; p<(a+10); p++) { printf("%d\t",*p);> C、for(p=a,a=a+10; p<a; p++) { printf("%d\t",*p);> D、for(p=a; a<p+10; ++a) { printf("%d\t",*p);>
A.a[0][1]
B.a[1][0]
C.a[1][1]
D.a[1][2]
A、printf("%s",&p+2->name);
B、printf("%s",&p+1->name);
C、printf("%s",p+2->name);
D、printf("%s",p+2.name);
以下程序用来计算任意个学生三门课的平均分并按平均分由高到低排序并打印输出。其中函数Input用来读取m个学生的信息,Total1函数用来计算总分和平均分,Sort函数按平均分由高到低排序,Print函数打印排序后的名次、学号、姓名、各科成绩及总分和平均分。请在主函数空白处填写适当内容将程序补充完整(分隔符请用英文输入法下的逗号顶格填写不要有多余的空格,每一空白处占用一行填写后请换行)。 #include <stdio.h> #include <stdlib.h> struct student { long num; char name[20]; int Eng; int Com; int Mth; }; void Input( struct student *p, int n); void Total1(struct student *p, int *psum, float *pave, int n); void Sort(struct student *p, int *psum, float *pave, int n); void Print(struct student *p, int *psum, float *pave, int n); main() { struct student *p=NULL; int *psum=NULL; float *pave=NULL; int m; printf("请输入班级实际人数:\n"); scanf("%d",&m); p = ( struct student * )malloc( m*sizeof ( struct student )); psum = ( int * )malloc( m*sizeof ( int )); pave = ( float * )malloc( m*sizeof( float )); if( p ==NULL || psum == NULL || pave == NULL ) exit(0); Input( ); Total1( ); Sort( ); Print( ); } void Input( struct student *p, int n) { int i; for(i=0;i<n;i++) { scanf("%ld%s%d%d%d", &(p+i)->num, (p+i)->name,&(p+i)->Eng, &(p+i)->Com, &(p+i)->Mth ); } } void Total1(struct student *p,int *psum, float *pave,int n) { int i; for( i = 0; I < n; i++ ) { psum[i] = 0; psum[i] = psum[i] + p[i].Eng+p[i].Com + p[i].Mth; pave[i] =( float )psum[i]/3; } } void Sort( struct student *p, int *psum, float *pave, int n) { int i,j,iterm; float fterm; struct student pterm; for ( i = 0; i < n-1; i++ ) { for ( j = i+1; j < n; j++ ) { if ( pave[i] < pave[j] ) { iterm = psum[i]; psum[i] = psum[j]; psum[j] = iterm; fterm = pave[i]; pave[i] = pave[j]; pave[j] = fterm; pterm = p[i]; p[i] = p[j]; p[j] = pterm; } } } } void Print( struct student *p, int *psum, float *pave, int n) { int i; printf("名次\t%学号\t姓名\t英语\t计算机\t数学\t总分\t平均分\n"); for ( i = 0; i < n; i++ ) { printf("%d\t%ld\t%s\t%d\t%d\t%d\t%d\t%.0f\n",i+1, (p+i)->num, (p+i)->name, (p+i)->Eng, (p+i)->Com,(p+i)->Mth, psum[i], pave[i] ); } }
为了保护您的账号安全,请在“简答题”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!