程序设计.docx
- 文档编号:8993730
- 上传时间:2023-02-02
- 格式:DOCX
- 页数:17
- 大小:740.31KB
程序设计.docx
《程序设计.docx》由会员分享,可在线阅读,更多相关《程序设计.docx(17页珍藏版)》请在冰豆网上搜索。
程序设计
1.1题目:
请编写函数fun,该函数的功能是:
将放在字符串数组中的M个字符串(每串的长度不超过N),按顺序合并组成一个新的字符串。
例如:
若字符串数组中的M个字符串为{AAAA",“BBBBBB","CC"则合并后的字符串内容应
该是“AAABBBBBBCC"
注意:
请勿改动main函数和其他函数中的任何内容,仅在函数fun的花括号中填入
所编写的若干语可。
inti,j,k=0;
for(i=0;i for(j=0;a[i][j]! =’\0’;j++) b[k++]=a[i][j]; b[k]=’\0’; 1.2题目: 题目: 请编写fun函数程序,从键盘输入某一年,判断该年是否为闰年。 闰年的条件是: (1)能被4整除但不能被100整除。 (2)能被400整除。 符合任何一个条件就是闰年。 输入年份为整型 if((year%4==0&&year%100! =0)||year%400==0) return1; else return0; 1.3题目: (待议) 题目: 编写函数fun;其功能是: 根据以下公式求的值,结果由函数值带回。 m与n为两个正整数且要求m>n.如“样张”。 P=m! /n! (m-n)! ) 例如: m=12,n=8时,运行结果为495000000 注意请勿改动主函数main和其他函数中的任何内容。 仅在函数fun的花括号中填入你编写的若干语句。 (参考XX) floatp; p=1.0*jc(m)/jc(n)/jc(m-n); returnp; 2.1功能: 对长度为8个字符的字符串,将8个字符按降序排列。 例如: 原来的字符串为CEAedcab,排序后输出为edcbaECA inti,j; chart; for(i=0;i for(j=i+1;j if(s[i] {t=s[i];s[i]=s[j];s[j]=t;} 2.2编写程序,实现矩阵(3行、3列)的转置(即行列互换)。 例如,若输入下面的矩阵: 100200300 400500600 700800900 则程序输出: 100400300 200500800 300600900 inti,j,t; for(i=0;i<3;i++) for(j=i+1;j<3;j++) { t=array[i][j]; array[i][j]=array[j][i]; array[j][i]=t; } 3.1题目: 编写函数fun,其功能是: 将a、b两个两位正整数合并成一个新的整数放在c中。 合并的方式是: 将a中的十位和个位数依次放在变量c的千位和十位上,b中的十 位和个位数依次放在变量c的个位和百位上。 例如: 当a=45,b=12,调用该函数后c=4251 注意: 请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入 你编写的若干语句。 *c=b/10+(a%10)*10+(b%10)*100+(a/10)*1000; 3.2题目: 编写函数fun,其功能是: 求出1~100之间能被7或11整除,但不能同时被7和11整除的所有整数,并将其放在a所指的数组中,通过n返回这些数的个数。 注意: 请勿改动主函教main和其它函数中的任何内容,仅在函数fun的花括号中填入 你编写的若干语句。 inti,j=0; for(i=1;i<=100;i++) if((i%7==0||i%11==0)&&i%77! =0) a[j++]=i; *n=j; 4.1题目: 编写通数fun,其功能是;将s所指字符串中ASCII值为奇数的字符删除,剩余字符形成的新串放在t所指数组中。 例如: 若s所指字符串中的内容为: “ABCDEFG12345",其中字符的ASCII码值为奇数字符1 的ASCII码值也为奇数,都应当删除,其它依此类推。 最后t所指的数组中的内容应 是: “BDF24" inti,j=0; for(i=0;i if(s[i]%2==0) t[j++]=s[i]; t[j]=0; 4,2请编写一个函数,用来删除字符串中的所有空格。 例如,输入asdafaaz67.则输出为asdafaaz67。 inti=0; char*p=str; while(*p) { if(*p! =’') { str[i]=*p; i++; } p++; } str[i]='\0'; 5,1(待议)题目: 请编fun函数写程序,从键盘输入百分制成绩,要求输出等级制成绩A、B、C、D。 90~100分为A,80~89分为B,60~79分为C,1~59分为D。 不考虑小数,输入为整数,输出为字符。 (参考XX) charfun(intn) {charp; if(n==9||n==10) p=’A’; elseif(n==8) p=’B’; elseif(n==6||n==7) p=’C’; elsep=’D’; return(p); } 5,2题目: 请编写函数fun,其功能是: 将一个数字字符串转换为一个整数不得调用c语言提供 的将字符串转换为整数的函数)。 例如: 若输入字符串“一1234",则函数把它转换为整数值一1234。 注意: 请勿改动主函教main和其它函数中的任何内容,仅在函数fun的花括号中填入 你编写的若干语句。 longn=0; intflag=1; if(*p=='-') {p++;flag=-1;} elseif(*p==’+’) p++; while(*p! =’\0’) {n=n*10+*p-‘0’; p++; } returnn*flag; 6,1请编写函数fun,函数的功能是: 移动一维数组中的内容,若数组中有n个整数, 要求把下标从0~p(含p,p小于等于n-1)的数组元素平移到数组的最后。 例如,一维数组中的原始内容: 1,2,3,4,5,6,7,8,9,10;p的值为3。 移动后,一维 数组中的内容应为: 5,6,7,8,9,10,1,2,3,4。 inti,j,t; for(i=p+1;i for(j=i;j>i-p-1;j--) { t=w[j]; w[j]=w[j-1]; w[j-1]=t; } 6,2功能: 编写函数求3! +6! +9! +12! +15! +18! +21! inti,j; floatt,s=0; for(i=3;i<=n;i=i+3) {t=1; for(j=1: j<=i;j++) t=t*j; s=s+t;} return(s); 7,1请编写函数fun,其功能是计算并输出如下多项式的值。 Sn=1+1/1! +1/2! +1/3! +1/4! +..+1/n! 例如,若主函数从键盘给n 输入15,则输出为S=2.718282。 doublet,sn=1.0; inti,j; for(i=1;1<=n;i++) { t=1.0; for(j=1;j<=i;j++) t*=j; sn+=1.0/t; } returnsn; 7,2已知学生的数据由学号和学习成绩构成,N名学生的数据已存入a结构体数组中。 请编写函数fun,该函数的功能是: 找出成绩最高的学生记录,通过形参返回主函数(规定只有一个最高分)。 已给出函数的首部请完成该函数。 inti; *s=a[0]; for(i=0;i if(s->s *s=a[i]; 8.1功能,求1到w之间的奇数之和。 (w是大于等于100小于等 于1000的整数) intsum=0;inti; for(i=1;i<=w;++i) { if(i%2! =0)sum+=i; } returnsum; 8.2功能: 找出一批正整教中的最大的偶数。 inti,amax=-1; for(i=0;i if(a[i]%2==0) if(a[i]>amax)amax=a[i]; returnamax; 9.1(好像没法输出,关键字匹配100%,9分)在键盘上输入一个3行3列矩阵的各个元素的值(值为整数),然后输出主对角线元素的积,并在fun()函数中输出。 intsum; inti,j; sum=1; for(i=0;i<3;i++) sum=sum*a[i][j]; returnsum; 9.2请编写函数fun,其功能是: 找出一维整形数组元素中最大的值及其所在的下标,并通过形参传回。 数组元素中的值已在主函数中赋予。 主函数中x是数组名,n是x中的数据个数,max存放最大值,index存放最大值所在元素的下标, inti; *max=a[0]; *d=0;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 程序设计