当前位置:文档之家› 计算机二级上机试题

计算机二级上机试题


for(x=0;x<=p;x++) {ch=w[0]; for(j=1;j<n;j++) {w[j-1]=w[j];} w[n-1]=ch; } } 三三、将一个二维数组按列存入一维数组 void fun(char(*s)[N],char*b) {int i,j,k=0; for(i=0;i<N;i++) for(j=0;j<M;j++) b[k++]=s[j][i]; b[k]='\0'; } 三四、求s=1+1/(1+2)+...+1/(1+...n) double fun(int n) {int i,s1=0; double s=0.0; for(i=1;i<=n;i++) {s1=s1+i; s=s+1.0/s1; } return s; } 三五、删除字符串中ASCII为奇数的字符 void fun(char *s,char t[]) {int i,j=0,n; n=strlen(s); for(i=0;i<n;i++) if(s[i]%2==0) {t[j]=s[i]; j++;} t[j]='\0'; } 三六、删除相同的数 int fun(int a[],int n)
{int i,j=1; for(i=1;i<n;i++) if(a[j-1]!=a[i]) a[j++]=a[i]; return j; } 三七、删除字符串中的* void fun(char *a,char *h,char *p) {int i=0; char *q=a; while(q<h) {a[i]=*q;q++;i++;} while(q<p) {if(*q!='*') {a[i]=*q;i++;} q++; } while(*q) {a[i]=*q;i++;q++;} a[i]='\0'; } 三八、前端*不多于N个 void fun(char*a,int n) {int i=0;int k=0; char *p,*t; p=t=a; while(*t=='*') {k++;t++;} if(k>n) {while(*p) {a[i]=*(p+k-n); i++;p++} a[i]='\0'; } } 三九、将一个字符串转换成整数 long fun(char *p)
av=av+a[i].s; av=av/N; for(i=0;i<N;i++) if(av<=a[i].s) {b[*n]=a[i];*n=*n+1;} return av; } 二二、1到m之间能被7或11整除的所有整数 void fun (int m,int *a,int *n) { int i,j=0; for(i=1;i<=m;i++) if(i%7==0||i%11==0) a[j++]=i; *n=j } 二三、删除前端* void fun(char *a) { char *p=a; while(*p=='*')p++; for(;*p!='\0';p++,a++) *a=*p; *a='\0'; } 二四、找出成绩的最高分 double fun(STREC *h) { double max=h->s; while(h!=NULL) { if(max<h->s) max=h->s; h=h->next; } return max; } 二五、找出一维数组最大值和他的下标
void fun(int a[],int n,int *max,int *d) { int i; *max=a[0]; for(i=0;i<n;i++) if(*max<a[i]) {*max=a[i];*d=i;} } 二六、除下标为奇数同时ASCII码为奇数的外,其余删除 void fun(char *s,char t[]) { int i,j=0,n; n=strlen(s); for(i=0;i<n;i++) if(i%2!=0&&s[i]%2!=0) { t[j]=s[i]; j++; } t[j]='\0'; } 二七、B=A+A'矩阵A加上他的转置 void fun(int a[3][3],int b[3][3]) { int i,j; for(i=0;i<3;i++) for(j=0;j<3;j++) b[i][j]=a[i][j]+a[j][i]; } 二八、将二维数据放入一维数组中 void fun(int (*s)[10],int *b,int *n,int mm,int nn) { int i,j; for(j=0;j<nn;j+) for(i=0;i<mm;i++) { b[*n]=*(*(s+i)+j)
for(i=0;i<N;i++) if(max<a[i].s) max=a[i].s; for(i=0;i<N;i++) if(max=a[i].s) b[j++]=s[i]; return j; } 九、除字符串前导星号外,其他星号删除 void fun(char *a) { int i=0; char *p=a; while(*p&&*p=='*') { a[i]=*p; i++; p++; } while(*p) { if(*p!='*') {a[i]=*p;i++;} p++; } a[i]='\0'; } 十、统计字符串中小写字母的个数 void fun(char *tt,int pp[]) { int i; for(i=0;i<26;i++) pp[i]=0; for(;*tt!='\0';tt++) if(*tt>='a'&&*tt<='z') pp[*tt-'a']++; } 十一、删除字符串尾端的* void fun(char *a)
{ while(*a!='\0') a++; a--;/*字符串a指向字符串的尾部*/ while(*a=='x') a--; *(a+1)='\0'; } 十二、比较两个字符串返回较长的字符串 char *fun(char*s,char*t) { int i,j; for(i=0;s[i]!='\0';i++)/*求字符串的长度*/ for(j=0;t[j]!='\0';j++); if(i<=j) return t; else return s; } 十三、找指定学生的数据 STREC fun(STREC*a,char *b) { int i; STREC str={"\0",-1}; for(i=0;i<N;i++) if(strcmp(a[i].num,b)==0) str=a[i]; return str; } 十四、求cos(x)-x=0的实根 double fun() { double x0,x1; x1=0.0; do { x0=x1;
一、删除字符串中的所有*号 void fun(char *a) { int i,j=0; for(i=0;a[i]!='\0';i++) if(a[i]!='*') a[j++]=a[i]; a[j]='\0'; } 二、实现两个字符串的连接 void fun(char p1[],char p2[]) { int i,j; for(i=0;p1[i]!='\0';i++) for(j=0;p2[j]!='\0';j++) p1[i++]=p2[j]; p1[i]='\0'; } 三、求八门课的平均成绩 void fun(STREC *a) { double ave=0.0; int i; for(i=0;i<N;i++) a->ave=a->ave+a->s[i]; a->ave/=N; } 四、带头结点的求平均成绩 double fun(STREC *h) { double ave=0.0; STREC *p=h->next; while(p!=NULL) { ave=ave+p->s; p=p->next; }
return ave/N; } 五、将所有大于1小于整数m的非素数存入xx所指数组中,非素数的个 数通过k返回 void fun(int m,int *k,int xx[]) { int i,j,n=0; for(i=4;i<m;i++) { for(j=2;j<i;j++) if(i%j==0) break if(j<i) xx[n++]=i; } *k=n; } 六、求字符串中指定字符的个数 int fun(char *ss,char c) { int i=0; for(;*ss!='\0';ss++) if(*ss==c) i++; return i; } 七、求n门课程的平均值 float fun(float *a,int n) { int i; float av=0.0; for(i=0;i<n;i++) av=av+a[i]; return(av/n); } 八、找出N名学生,分数最高的记录 int fun(STREC *a,STREC *b) { int i,j=0,max=a[0].s;
相关主题