加强版程序设计答案word版.docx
《加强版程序设计答案word版.docx》由会员分享,可在线阅读,更多相关《加强版程序设计答案word版.docx(17页珍藏版)》请在冰豆网上搜索。
![加强版程序设计答案word版.docx](https://file1.bdocx.com/fileroot1/2022-11/17/0f791c19-d0dd-4899-a685-63b1d40c85b0/0f791c19-d0dd-4899-a685-63b1d40c85b01.gif)
加强版程序设计答案word版
1.1题目:
请编写函数fun,该函数的功能是:
将放在字符串数组中的M个字符串(每串的长度不超过N),按顺序合并组成一个新的字符串。
例如:
若字符串数组中的M个字符串为{AAAA",“BBBBBB","CC"则合并后的字符串内容应
该是“AAABBBBBBCC"
注意:
请勿改动main函数和其他函数中的任何内容,仅在函数fun的花括号中填入
所编写的若干语可。
inti,j,k=0;
for(i=0;ifor(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;ifor(j=i+1;jif(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;iif(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;ifor(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;iif(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;iif(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;
for(i=0;iif(*max{
*max=a[i];
*d=i;
}
10,1题目:
编写的数fun,其功能是:
从字符串中删除指定的字符。
同字母的大、小写按不同字符处理。
例如:
若程序执行时输入字符串为"turbocandborlandc++*从键盘上输入字符n,则输出为"turbocadborladc++"
如果输入的字符在字符串中不存在,则字符串照原样输出。
inti=0;
char*p;
p=s;
while(*p)
{
if(*p!
=c)
{
s[i]=*p;
i++;
}
p++;
}
s[i]=’\0’;
10,2功能:
编写函数fun,求任一整数m的n次方。
longintx=1;
inti:
for(i=1;i<=n;i++)
x=x*m;
returnx;
11.1
题目:
请编函数fun,其功能是将一个数字字符串转换成与其面值相同的长整型整数。
可调用strlen函数求字符串的长度。
例如:
在键盘输入字符串’2345210’,函数返
回长整型数2345210。
longfun(char*s)
inti;sum=0,len;
len=strlen(s);
for(i=0;i{
sum=sum*10+*s-48;
s++;
}
returnsum;
11.2题目:
请编写函数fun,该函数的功能是:
统计各年龄段的人数。
N个年龄通过调用随机函数获得,并放入主函数的age数组中。
要求函数把0~9岁年龄段的人数放在d[0]中,把10~19岁年龄段的人数放在d[1]中,把20~29岁年龄段的人数放在d[2]中,依此类推,把100岁(含100岁)以上年龄的人数都放在d[10]中。
结果在主函数中输出.
inti,n=0,fg=1;
char*p=str;
while(*P)
{
n++;
p++;
}
for(i=0;iif(str[i]==str[n-1-i])
else
{
fg=0;
break;
}
returnfg;
12.1请编写函数fun,该函数的功能是:
求出二维数组周边元素之和,作为函数值返回。
二维数组中的值在主函数中赋予。
inti,j,s=0;
for(i=0;is=s+a[i][0]+a[i][N-1];
for(j=0;js=s+a[0][j