首页 上机习题

上机习题

举报
开通vip

上机习题 a与b合并成c 填空 STYPE FILE fp 改错 for(i=0;i

上机习题
a与b合并成c 填空 STYPE FILE fp 改错 for(i=0;iscore[i] a 改错 char* fun(char (*sq)[M]) return sp; 将a数的十位和个位数依次放在c数的百位和个位上,b数的十位和个位数依次放在c数的十位和千位上。组数2415 *c=(b%10)*1000+(a/10)*100+(b/10)*10+a%10; 整除 填空 q next next 改错 p=j; p=i; 求出1到m之内(含m)能被7或11整除的所有整数放在数组a中。 int i,j=0; *n=0; for(i=1;i<=m;i++) if(i%7==0||i%11==0) {a[j++]=i;(*n)++;} 填空 s[i] ’9’ *t=n 改错 t=*x; *x=y; return(t); 求出1到1000之内能被7或11整除,但不能同时被7和11整除的所有整数并将它们放在a所指的数组中。 int i,j=0; for(i=1;i<=1000;i++) if((i%7==0||i%11==0) && i%77!=0) a[j++]=i; *n=j; 填空 a[i] a[i] 0 改错 y=1; d=a-i; 计算并输出n(包括n)以内能被5或9整除的所有自然数的倒数之和。 int i; double s=0.0; for(i=1;i<=n;i++) if(i%5==0||i%9==0) s+=1.0/i; return s; 填空 ’0’ s++ sum 改错 if((k%13==0)||(k%17==0)) } 求n以内(不包括n)同时能被3与7整除的所有自然数之和的平方根s。 double s=0.0; int i; for(i=0;idata t 改错 void fun(char *a) printf("%c",*a); 比较两个字符串的长度,函数返回较长的字符串。 char *p,*t1=t,*s1=s;int n=0,m=0; while(*s1++) n++; while(*t1++) m++; if(n>=m) p=s; else p=t; return p; 填空 0 10*x n/0 改错 *t=0 if(d%2!=0) 实现两个字符串的连接。 char *p=p1;while(*p)p++;while(*p2) *p++=*p2++;*p=0; 填空 [N] i i+1 改错 aa[i]=m%k; printf("%d",aa[i-1]); 从传入的num个字符串中找出最长的一个字符串。 int i;max=a[0]; for(i=0;inext; p=p->next; 判断字符串是否为回文。 int i,n=0,flag=1;char *p=str; while(*p++) n++; for(i=0;i='a'&&ss[i]<='z'&&i%2!=0) ss[i]-=32; ss[i]='\0'; 将a所指4*3矩阵中第k行的元素与第0行的元素交换。填空 k N a[k][i] 改错 for(i=strlen(t)-1;i;i--) if(t[j]>t[j+1]) 将字符串ss中所有下标为奇数位置上的字母转换为大写。 int i,n=0; char *p=ss; while(*p++) n++; for(i=0;i='a'&&ss[i]<='z'&&i%2!=0) ss[i]-=32; ss[i]='\0'; 填空 0 || 1 改错 t-=1.0/i; return t; 删除字符串中的所有空格。 int i=0;char *p=str; while(*p) {if(*p!=’ ’) str[i++]=*p;p++;} str[i]=’\0’; 填空 k len ss[i][j] 改错 result*=n--; return result; 从字符串中删除指定的字符。 int i=0;char *p=s; while(*p){if(*p!=c) s[i++]=*p;p++;} s[i]=’\0’; 填空 t=i i ’\0’ 改错 while(fabs(t)>=num) t=s/n; 删除一个字符串中指定下标的字符。 Int i,j=0; for(i=0;i='a'&& *tt<='z') pp[*tt-'a']++;tt++;} 填空 filename fp fp 改错 p=(NODE*)malloc(sizeof(NODE)); return h; 统计一行字符串中单词的个数。 int i,n=0; for(i=0;i=’a’&&s[i]<=’z’&&s[i+1]==’’||s[i+1]=='\0’) n++; return n; 平均分和结构体 填空 x p s 改错 long k=1; num/=10; 计算n门课程的平均分。 float aver=0.0; int i; for(i=0;is;h=h->next;} return aver/N; 填空 fp == fp 改错 n=strlen(aa); ch=aa[i]; N名学生的成绩已放入一个带头节点的链表结构中,h指向链表的头结点,找出学生的最高分。 double max=h->s; for(h=h->next;h->next!=NULL;h=h->next) if(h->s>max) max=h->s; return max; 填空 a[i] a[j] a[j] 改错 switch(g) case 1: case 2: return 1; 某学生的 记录 混凝土 养护记录下载土方回填监理旁站记录免费下载集备记录下载集备记录下载集备记录下载 由学号,8门课程成绩和平均分组成,求出该学生的平均分放在记录的ave成员中。 double av=0.0; int i; for(i=0;is[i]; av/=N; a->ave=av; 填空 *a 2 i+1 改错 sum=0.0; if((i+1)%5==0) 学生的记录由学号和成绩组成,把低于平均分的学生数据放在b所指的数组中。 double aver=0.0; int i,j=0; for(i=0;isno ->name &t 改错 double fun(double a,double x0) if(fabs(x1-x0)>0.00001) 学生的记录由学号和成绩组成,把高于等于平均分的学生数据放在b所指的数组中。 int i,j=0; double aver=0.0; for(i=0;i=aver) b[j++]=a[i]; *n=j; return aver; 填空 std[i].year std[i] n 改错 IsPrime(int n) if(!(n%i)) 已知学生的记录由学号和学习成绩构成,找出成绩最高的学生记录(规定只有一个最高分)。 int i,max=a[0].s; for(i=0;imax){max=a[i].s;*s=a[i];} 填空 0.0 x[i]/N j++ 改错 double fun(int m) for(i=100;i<=m;i+=100) 已知学生的记录由学号和学习成绩构成,找出成绩最低的学生记录(规定只有一个最低分)。 int i,min=a[0].s; for(i=0;imax) max=a[i].s; for(i=0;i0) 学生记录由学号和成绩组成,按分数高低排列学生的记录,高分在前。 int i,j; STREC t; for(i=0;ip) 学生的记录由学号和成绩组成,把指定分数范围内的学生数据放在b所指的数组中,学生人数由函数值返回。 int i,j=0; for(i=0;i=l&&a[i].s<=h) b[j++]=a[i]; return j; 二维数组 填空 *std PERSON std 改错 int k,q,i; pt[i]=str[k][i]; 使数组左下半三角元素中的值全部置成0。 int i,j; for(i=0;i0) else if(k==0) 使数组左下半三角元素中的值乘以n。 int i,j; for(i=0;i void upfst(char *p) 求出数组周边元素的平均值。 int i,j,k=0;double s=0.0; for(j=0;jnext p->next > 改错 p=h->next; p=p->next; 将M行N列的二维数组中的数据,按行的顺序依次放到一维数组中。 int i,j; for(i=0;i=k+1) s+=sqrt(m);} return s; 填空 a[0][i] < x,y 改错 void fun(int *x,int *y) t=*x;*x=*y;*y=t; 求出小于或等于lim的所有素数放在aa数组中,返回所求出的素数的个数。 for(j=2;j=i) aa[k++]=i; 填空 s -- return 0 改错 double fun(int n) c=a;a+=b;b=c; 将大于形参m且紧靠m 的k个素数存入xx所指的数组中。 int g=0,i,j,flag=1; for(i=m+1;1;i++) {for(j=2;j=i) {if(k>=0){xx[g++]=i;k--;} else break;} } 填空 M < k 改错 if(('a'<=tt[i])&&(tt[i]<='z')) tt[i]-=32; 将所有大于1小于整数m的非素数存入xx所指数组中。 int i,j,t=0; for(i=4;i=xa) int i; float p,t=1.0; for(i=1;i<=m;i++) t=t*i; p=t; for(t=1.0,i=1;i<=n;i++) t=t*i; p=p/t; for(t=1.0,i=1;i<=m-n;i++) t=t*i; p=p/t; return p; 填空 j=2 i j 改错 sum=j=0; if(sum%4==2) int i; double s=0.0; for(i=1;i<=n;i++) s+=(1.0/(2*i-1)-1.0/(2*i)); return s; 填空 *s 1 k[n] 改错 double fun(int k) return s; int i; double s=0.0; for(i=1;i<=n;i++) s+=1.0/(i*(i+1)); return s; 填空 n%10 break break 改错 if(t==0) *zero=count; int i; double s=1.0,t=1.0; for(i=2;i<=n;i++) {t*=i;s+=1.0/t;} return s; 填空 ’\0’ 0 c 改错 double sum=0.0; sum/=c; int i; float s=1.0,t=1.0; for(i=2;i<=n;i++) {t+=i;s+=1.0/t;} return s; 填空 1.0 -1.0 t 改错 for(i=1;i<=3;i++) if(k>=0&&k<=6) int i; double t=1.0,s=1.0; for(i=1;i<=n;i++) {t*=i; s+=1.0/t;} return s; 填空 i ps[j] tp 改错 double fun(int n) return sum; int i,j; double s=1.0,p=1.0,t=1.0; for(i=1;i<=n;i++) {t=t*i;p=p*x;s+=p/t;} return s; 填空 0 j-- j 改错 double f(double x) return s; s=(ln(1)+ln(2)+ln(3)+…+ln(m))0.5。 int i; double s=0.0,log(double x); for(i=1;i<=m;i++) s+=log((double)i); return sqrt(s); 填空 a a b 改错 c=c+32; c=c+5; S=1+(1+20.5)+(1+20.5+30.5)+…+(1+20.5+30.5+…+n0.5) int i; double s=1.0,p=1.0; for(i=2;i<=n;i++) {p+=sqrt(i);s+=p;} return s; 填空 0.0 n (t*t) 改错 for(i=0;str[i];i++) if(substr[k+1]=='\0') double s=1.0; float t=1,pi=0,n=1.0; while((fabs(s))>=eps) {pi+=s;t=n/(2*n+1);s*=t;n++;} return pi*2; 填空 x n fabs(t) 改错 for(i=1;i<=y;i++) t=t%1000; double s1=1.0,p=1.0,s=0.0,s0,t=1.0; int n=1; do{s0=s1;s+=s0;t*=n;p*=(0.5-n+1)*x;s1=p/t;n++;} while(fabs(s1-s0)>=1e-6); return s; 填空 1.0 1 i 改错 k=i; c=k%10; 计算给定10个数的方差: int i,j; double s=0.0,s1=0.0; for(i=0;i<10;i++) s1+=x[i]; s1/=10; for(j=0;j<10;j++) s+=(x[j]-s1)*(x[j]-s1); s/=10; return sqrt(s); 填空 && ’A’ ch 改错 void fun(int *a) a[j]=a[j-1]; 计算给定整数n的所有因子之和。 int s=0,i; for(i=2;i<=n-1;i++) if(n%i==0) s+=i; return s; 填空 x n t 改错 d=1;s=0; d=d/10; 计算并输出给定数组(长度为9)中每相邻两个元素之平均值的平方根之和。 double s=0.0; int i,j=1; for(i=0;i<9;i++) if(j<=8) {s+=sqrt((x[i]+x[i+1])/2.0);j++;} return s; 填空 i++ m m 改错 while((high>=2)&&(n<10)) yes=0;break; 利用简单迭代方法求方程cos(x)-x=0的一个实根。Xn+1=cos(Xn) float x1=0.0,x0; do{x0=x1;x1=cos(x0);}while(fabs(x0-x1)>=1e-6); return x1; 填空 N N-1 0 改错 s=s+(double)(n+1)/n; return t; 求Fibonacci数列中大于t的最小的一个数。 int a=1,b=1,c=0,i; for(i=4;i<=t;i++) {if(ca[m]) m=k; w是一个大于10的无符号整数,若w是n(n≥2)位的整数,则函数求出w的后n-1位的数。 unsigned t=w,s=0,sl=1,p=0; while(t>10) {if(t/10) p=t%10;s+=p*sl;sl*=10;t/=10;} return s; 填空 ’0’ s++ ctod(a)+ctod(b) 改错 void fun(char *s,int *a,int *b) *a=*a+1; *b=*b+1; 对变量h中的值保留2位小数,并对第三位进行四舍五入。 int t; float f; t=(int)h; f=h-t; if((int)(f*1000)%10>=5) f=((int)(f*100)%100+1)/100.0; else f=((int)(f*100))/100.0; return t+f; 填空 t,s s[i] ’\0’ 改错 if(i%k==0) if(k>=i) 求出能整除x且不是偶数的各整数,并按从小到大的顺序放在pp所指的数组中。 int i,j=0,k=0,*t=pp; for(i=1;i<=x;i++) if(i%2!=0) t[j++]=i; for(i=0;i0.001) 除字符串前导和尾部的*号,将其它*号都删除。 int j=0;char *q=a; while(*q&&qa[mid]) 除了尾部的*号之外,将字符串中其他*号全部删除。 int i=0;char *q=a; while(q<=p) {if(*q!=‘*’) a[i++]=*q;q++;} while(*q) a[i++]=*q++;a[i]=’\0’; 填空 N k ss[i] 改错 int k=0; while(*p||*q) 除了字符串前导的*号之外,将串中其他*号全部删除。 int i=0;char *p=a; while(*p&&*p==‘*’) a[i++]=*p++; while(*p) {if(*p!=‘*’) a[i++]=*p;p++;} a[i]=’\0’; 填空 [M] N ’\0’ 改错 t=1; return(2*s); 使字符串的前导*号不得多于n个;若多于n个,则删除多余的*号;若少于或等于n个,则什么也不做,字符串中间和尾部的*号不删除。 int i=0,k=0;char *t=a; while(*t==‘*’){k++;t++;} if(k>n) t=a+k-n; while(*t) a[i++]=*t++;a[i]=’\0’; 填空 a[i]%2 a[j] j 改错 fun(int n) if(n==1) 使字符串中尾部的*号不得多于n个;若多于n个,则删除多余的*号;若少于或等于n个,则什么也不做,字符串中间和前面的*号不删除。 int i=0,k=0;char *p,*t;p=t=a; while(*t) t++;t--; while(*t==‘*’){k++;t--;} t++; if(k>n){while(*p&&p*max) {*max=a[i];*d=i;} 填空 n++ 0 s++ 改错 t+=s[k]; *aver=ave; 求出数组的最大元素在数组中的下标并存放在k所指的存储单元中。 int i,max=s[0]; for(i=0;imax){max=s[i];*k=i;} 填空 3.0 > (2*i+1) 改错 double fun (int n) s=s+(double)a/b; 求出—个2×M整型二维数组中最大元素的值。 int i,j,max=a[0][0]; for(i=0;i<2;i++) for(j=0;jmax) max=a[i][j]; return max; 填空 std[0] std[i].age max.name 改错 void fun(int *a,int *b) t=*b;*b=*a;*a=t; tt指向一个M行N列的二维数组,求出二维数组每列中最小元素,并依次放入pp所指一维数组中。 int i,j,min; for(j=0;jnext q p->next 改错 while(*s!='\0') s++; 移动一维数组中的内容,若数组中有n个整数,要求把下标从0到p的数组元素平移到数组的最后。 int b[]={0,0,0,0,0,0,0,0,0,0},i,j=0; for(i=0;i<=p;i++) b[i]=w[i]; for(i=p+1;i=n) a[j]=t; return j; 填空 ”rb” > fwrite 改错 p=s; while(*p++); 统计各年龄段的人数。 int i,j; for(j=0;j=0 && a[i]<=99) b[a[i]/10]++; else if(a[i]>=100) b[10]++; 根据右边编程题目找对应的套题 PAGE 5 _1362231310.unknown
本文档为【上机习题】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_326139
暂无简介~
格式:doc
大小:166KB
软件:Word
页数:0
分类:工学
上传时间:2012-02-24
浏览量:23