编程题必背.docx
- 文档编号:29622152
- 上传时间:2023-07-25
- 格式:DOCX
- 页数:13
- 大小:25.87KB
编程题必背.docx
《编程题必背.docx》由会员分享,可在线阅读,更多相关《编程题必背.docx(13页珍藏版)》请在冰豆网上搜索。
编程题必背
1、当a=45,b=12时,调用该函数后,c=4152
*c=(a/10)*1000+(b/10)*100+(a%10)*10+(b%10);
2、当a=45,b=12时,调用该函数后,c=1524
*c=(b/10)*1000+(a%10)*100+(b%10)*10+(a/10);
3、当a=45,b=12时,调用该函数后,c=2514
*c=(b%10)*1000+(a%10)*100+(b/10)*10+(a/10);
4、当a=45,b=12时,调用该函数后,c=5142
*c=(a%10)*1000+(b/10)*100+(a/10)*10+(b%10);
5、计算n门课程的平均分。
若有5门课程的成绩是:
90.5,72,80,61.5,55则函数的值为:
71.80
inti;
floatave=0.0;
for(i=0;i ave=ave/n; returnave; 6、比较两个字符串的长度。 返回较长的字符串。 char*p=s,*q=t; while(*p&&*q) {p++;q++;} if(*p==0&&*q==0)returns; elseif(*p)returns; elsereturnt; 7、求出1到m之间(含m)能被7或11整除的所有整数放在数组a中 inti; *n=0; for(i=7;i<=m;i++) if((i%7==0)||(i%11==0))a[(*n)++]=i; 8、将ss所指字符串中所有下标为奇数位置上的字母转换为大写 inti; for(i=1;ss[i];i++) if(i%2&&ss[i]>='a'&&ss[i]<='z') ss[i]-=32; 9、将s所指字符串中除了下标为偶数、同时ASCII值也为偶数的字符外,其余的全都删除 inti,j=0; for(i=0;s[i];i++) if(i%2==0&&s[i]%2==0) t[j++]=s[i]; t[j]=0; 10、将s所指字符串中下标为偶数的字符删除 inti,j=0; for(i=1;i t[j]=0; 11、将s所指字符串中ASCII值为偶数的字符删除 inti,j=0; for(i=0;i if(s[i]%2)t[j++]=s[i]; t[j]=0; 12、找出成绩最高的学生记录 inti,max=a[0].s,j=0; for(i=1;i if(max {j=i;max=a[i].s;} *s=a[j]; 13、使数组左下三角元素中的值乘以n inti,j; for(i=0;i for(j=0;j<=i;j++) a[i][j]*=n; 14、使数组左下三角元素中的值全部置成0 inti,j; for(i=0;i for(j=0;j<=i;j++) a[i][j]=0; 15、求出二维数组每列中最小元素 inti,j; for(i=0;i {pp[i]=tt[0][i]; for(j=1;j if(pp[i]>tt[j][i])pp[i]=tt[j][i ];} 16、若w是n(n≥2)位的整数,函数求出w的低n-1位的数作为函数值返回 if(w>10000)w%=10000; elseif(w>1000)w%=1000; elseif(w>100)w%=100; elseif(w>10)w%=10; returnw; 17、字符串中的内容逆置 charb[N]; inti=0,j; memset(b,0,N); for(j=strlen(s)-1;j>=0;j--)b[i++]=s[j]; strcpy(s,b); 18、从s所指的字符串中删除给定的字符 char*p=s; inti=0; while(*p) {if(*p! =c)s[i++]=*p; p++;} s[i]=0; 19、除首、尾字符外,将其余5个字符按ASCII码降序排列。 charch; inti,j; for(i=1;i<6;i++) for(j=i+1;j<6;j++) if(s[i] {ch=s[j];s[j]=s[i];s[i]=ch;} 20、子字符串在另一个字符串中出现的次数 intcnt=0; char*p=str,*q; while(*p) {q=strstr(p,substr); if(q==NULL)break; p=q+strlen(substr); cnt++;} returncnt; 21、将所有大于1小于整数m的非素数存入xx所指数组中,非素数的个数通过k传回。 例如,若输入: 17,则应输出: 46891012141516。 intnum=0; inti,j; for(i=2;i { for(j=2;j if(j } *k=num; 22、求出ss所指字符串中指定字符的个数,并返回此值。 intcnt=0; char*p=ss; while(*p) {if(*p==c)cnt++;p++;} returncnt; 23、实现B=A+A',即把矩阵A加上A的转置,存放在矩阵B中 intc[3][3]; inti,j; for(i=0;i<3;i++) for(j=0;j<3;j++) {c[i][j]=a[j][i]; b[i][j]=a[i][j]+c[i][j]; } 24、求出1到1000之间能被7或11整除、但不能同时被7和11整除的所有整数 inti; *n=0; for(i=7;i<1000;i++) if(((i%7)==0||(i%11)==0)&&(i%77)! =0) a[(*n)++]=i; 25、统计在tt所指字符串中'a'到'z'26个小写字母各自出现的次数 char*p=tt;inti; for(i=0;i<26;i++)pp[i]=0; while(*p) {if(*p>='a'&&*p<='z') pp[*p-'a']+=1; p++;} 26、删除一个字符串中指定下标的字符 strncpy(b,a,n); b[n]=0; strcat(b,a+n+1); 27、求s的和 s=1+1/(1+2)+…+1/(1+2+…+n) inti,j,xn=0; floats=0; for(i=1;i<=n;i++) {xn=xn+i; s=s+1.0/xn; }returns; 28、迭代方法求方程: cos(x)-x=0的一个实根: xn+1=cos(xn) floatx0,x1=0.0; do{ x0=x1; x1=cos(x0); }while(fabs(x0-x1)>0.000001);returnx1; 29、求Fibonacci数列中大于t的最小的一个数,例如,当t=1000时,函数值为;1597 intf0=0,f1=1,f; do{ f=f0+f1;f0=f1;f1=f; }while(f returnf; 30、对ln1+ln2+…+lnm开平方根 doubles=0.0; inti; for(i=1;i<=m;i++)s+=log(1.0*i); s=sqrt(s); returns; 31、将字符串中的前导*号全部删除,中间和尾部的*号不删除字符串: *******A*BC*DEF*G****,删除后是: A*BC*DEF*G**** intj=0;char*p=a; while(*p=='*')p++; while(*p) {a[j++]=*p;p++;} a[j]=0; 32除了尾部*号之外,将字符串中其他*号全部删除。 字符串内容为: ****A*BC*DEF*G*******,删除后: ABCDEFG*******。 char*q=a;intj=0; while(*q&&q if(*q! ='*')a[j++]=*q; q++;} while(*p)a[j++]=*p++; a[j]=0; 33、除了字符串前导和尾部的*号之外,将字符串中其它*号全部删除 intj=0;char*q=a; while(*q&&q while(*h&&*p&&h {if(*h! ='*')a[j++]=*h; h++;} while(*p)a[j++]=*p++; a[j]=0; 34、删除字符串所有的*号。 intj=0; char*p=a; while(*p) {if(*p! ='*')a[j++]=*p; p++; } a[j]=0; 35、除了字符串尾部的*号不得多于n个 char*p=a;intj=0; while(*p)p++;p--;/*求串长*/ while(*p=='*')p--;/*串右'*'*/ p++; while(j {p++;j++;} *p=0; 36、求出学生的平均分。 学生的成绩是: 85.5,76,69.5,85,91,72,64.5,87.5,他的平均分为: 78.87 inti; for(i=0;i a->ave=a->ave+a->s[i]; a->ave/=N; 37、低于平均分的学生数据、学生人数,平均分通过函数值返回 inti; doubleave=0.0; *n=0; for(i=0;i ave/=N; for(i=0;i if(a[i].s {b[*n]=a[i];(*n)++;} returnave; 38、返回分数最高的学生的人数 inti,max=a[0].s,n=0; for(i=1;i if(max for(i=0;i if(max==a[i].s)b[n++]=a[i]; returnn; 39、返回指定学号的学生数据。 若没有找到,学号置空串,成绩置-1 STRECc; inti; c.num[0]='\0';c.s=-1; for(i=0;i if(strcmp(a[i].num,b)==0) {strcpy(c.num,a[i].num); c.s=a[i].s;break;} returnc; 40、求出学生成绩平均分 STREC*p=h->next; doubleav=0.0;intn=0; while(p! =NULL) {av=av+p->s;p=p->next;n++;} av/=n; returnav; 41、计算并输出给定整数n的所有因子(不包括1与n自身)之和 ints=0,i; for(i=2;i if(n%i==0)s+=i; returns; 42、计算Sn=1+1/1! +1/2! +…+1/n! doubles=1; longt=1; inti; for(i=1;i<=n;i++) {t=t*i;s+=1./t;} returns; 43、计算当x<0.97 Sn=1+0.5x+0.5*(0.5-1)x2/2! +… intn=1; doublesn=1; doublexn=1,xn1=0; while(fabs(xn-xn1)>=0.000001) {xn=xn*x*(0.5-n+1)/n; n+=1;sn+=xn;} return(sn); 44、计算并输出10个数的方差 inti;doubleavg=0.0,sum=0.0,abs=0.0,fc; for(i=0;i<10;i++)sum+=x[i]; avg=sum/10; for(i=0;i<10;i++)abs+=(x[i]-avg)*(x[i]-avg); fc=sqrt(abs/10); returnfc; 45、计算数组(长度为9)中每相邻两个元素之平均值的平方根之和 inti; doubleavg=0.0,sum=0.0; for(i=0;i<8;i++) {avg=(x[i]+x[i+1])/2; sum+=sqrt(avg);} returnsum; 46、计算Sn=1-1/2+1/3-1/4+1/5… inti; doublesum=0.0; if(n>1&&n<=100) {for(i=1;i<=n;i++) sum+=1.0/(2*i-1)-1.0/(2*i); }returnsum; 47、S=1+1/1*2+1/1*2*3+n的值大于1但不大于100 doubles=0,t=1; inti; for(i=1;i<=n;i++) {t*=i;s+=1.0/t;} returns; 48、计算n(包括n)以内能被5或9整除的所有自然数的倒数之和。 inti;doublesum=0.0; for(i=1;i<=n;i++) if(i%5==0||i%9==0) sum+=1.0/i; returnsum; 49、计算并输出3到n之间(含3和n)所有素数的平方根之和。 inti,j=0;doubles=0; for(i=3;i<=n;i++) {for(j=2;j if(i%j==0)break; if(j==i)s=s+sqrt(i);} returns; 50、S=1+(1+ )+(1+ + ) +。 。 。 +(1+ + +..+ ) inti; doublefac=1.0,sum=1.0; for(i=2;i<=n;i++) {fac+=sqrt(i);sum+=fac;} returnsum; 51、当a=45,b=12。 调用该函数后,c=1425 *c=(b/10)*1000+(a/10)*100+ (b%10)*10+(a%10); 52、按分数的高低排列学生的记录,高分在前 STRECtmp; inti,j; for(i=0;i for(j=i+1;j if(a[i].s {tmp=a[i];a[i]=a[j];a[j]=tmp; } 53、当a=45,b=12。 调用该函数后,c=4251 *c=(a/10)*1000+(b%10)*100+ (a%10)*10+(b/10); 54、把p2所指的字符串连接到p1所指的字符串后 char*p=p1; while(*p)p++; while(*p2)*p++=*p2++; *p=0; 55若输入字符串"-1234",则函数把它转换为整数值-1234。 inti,len,t;longx=0; len=strlen(p); if(p[0]=='-'){t=-1;len--;p++;} elset=1; while(*p)x=x*10-48+(*p+ +);returnx*t; 56、求π的值 π/2=1+1/3+..+1*2*..n/3*5*…(2n+1) doubles=1,t=1./3; intn=1; while(t>=eps) {s+=t;n++;t=t*n/(2.0*n+1);} return(s*2.0); 57、找出数组元素中最大的值和它所在的下标 inti; *max=a[0];*d=0; for(i=1;i if(*max {*max=a[i];*d=i;} 58、求出一个2×M整型二维数组中最大元素的值 inti,j,max=a[0][0]; for(i=0;i<2;i++)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 编程 题必背