C语言27大题.docx
- 文档编号:513576
- 上传时间:2022-10-10
- 格式:DOCX
- 页数:28
- 大小:21.01KB
C语言27大题.docx
《C语言27大题.docx》由会员分享,可在线阅读,更多相关《C语言27大题.docx(28页珍藏版)》请在冰豆网上搜索。
C语言27大题
1.题目:
请编写函数fun,其功能是:
计算并输出下列多项式的值。
S=1/(1×2)+1/(2×3)+…+1/(n×(n+1))
===>例如:
当n=10时,函数值为0.909091。
注意:
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
-------------------------------------------------------*/
#include
#include
#include
doublefun(intn)
{
/**********Program**********/
inti;
doubles=0;
for(i=1;i<=n;i++)
{
s=s+1.0/(i*(i+1));
}
returns;
/**********End**********/
}
voidmain()
{
system("CLS");
printf("%f\n",fun(10));
}
2.题目:
公式e=1+1/1!
+1/2!
+1/3!
+......,求e的近似值,精度为10的-6次方(大于等于该
精度的项计入)。
==>
若输入0.001,则输出2.718056
若输入0.0001,则输出2.718254
#include
//函数功能:
计算e,精度为f;
doublefun(doublef)
{
doublee=1;
doublejc=1;
/**********Program**********/
inti=1,k;
longintj;
while(jc>=0.000001)
{
j=1;
for(k=1;k<=i;k++)
{
j=j*k;
}
i++;
jc=1.0/j;
e=e+jc;
}
returne;
/**********End**********/
}
voidmain()
{
doublef;
scanf("%lf",&f);
printf("e=%f\n",fun(f));
}
3.题目:
编写函数fun,其功能是:
删除一个字符串中指定下标的字符。
其中,a指向原字
符串,删除指定字符后的字符串存放在b所指的数组中,n中存指定的下标。
例如:
输入一个字符串world,然后输入3,则调用该函数后的结果为word。
注意:
请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
#include
#include
#defineLEN20
voidfun(chara[],charb[],intn)
{
/**********Program**********/
inti,j=0;
for(i=0;a[i]!
='\0';i++)
{
if(i!
=n)
b[j++]=a[i];
}
b[j]='\0';
/**********End**********/
}
voidmain()
{
charstr1[LEN],str2[LEN];
intn;
printf("Enterthestring:
\n");
gets(str1);
printf("Enterthepositionofthestringdeleted:
");
scanf("%d",&n);
fun(str1,str2,n);
printf("Thenewstringis:
%s\n",str2);
}
4.题目:
功能:
求5行5列矩阵的主、副对角线上元素之和。
注意,
两条对角线相交的元素只加一次。
例如:
主函数中给出的矩阵的两条对角线的和为45。
#include
#defineM5
intfun(inta[M][M])
{
/**********Program**********/
inti,j,s=0;
for(i=0;i for(j=0;j { if(i+j==M-1||i==j) { s+=a[i][j]; } } returns; /**********End**********/ } voidmain() { inta[M][M]={{1,3,5,7,9},{2,4,6,8,10},{2,3,4,5,6},{4,5,6,7,8},{1,3,4,5,6}}; inty; y=fun(a); printf("s=%d\n",y); } 5.题目: 功能: 把20个随机数存入一个数组,然后输出该数组中的 最小值。 其中确定最小值的下标的操作在fun函数中 实现,请给出该函数的定义。 ===>注意求最小值下标 #include #include #defineVSIZE20 intvector[VSIZE]; intfun(intlist[],intsize) { /**********Program**********/ inti,min=0; for(i=0;i { if(list[i] min=i; } returnmin; /**********End**********/ } voidmain() { inti; for(i=0;i { vector[i]=rand(); printf("Vector[%d]=%6d\n",i,vector[i]); } i=fun(vector,VSIZE); printf("\nMininum: Vector[%d]=%6d\n",i,vector[i]); } 【程序设计】 -------------------------------------------------- 功能: 将字符串中的小写字母转换为对应的大写字母, 其它字符不变。 ===>输入 abc 输出 ABC ------------------------------------------------*/ #include"string.h" #include voidchange(charstr[]) { /**********Program**********/ inti=0; while(str[i]! ='\0') { if(str[i]>='a'&&str[i]<='z') str[i]=str[i]-32; i++; } /**********End**********/ } main() { voidchange(); charstr[40]; gets(str); change(str); puts(str); } 【程序设计】 -------------------------------------------------- 功能: 求一个给定字符串中的字母的个数。 ===> ------------------------------------------------*/ #include intfun(chars[]) { /**********Program**********/ intnum=0; charch; while((ch=*s++)! ='\0') if((ch<=90&&ch>=65)||(ch>=97&&ch<=122))num++; returnnum; /**********End**********/ } main() { charstr[]="Bestwishesforyou! "; intk; k=fun(str); printf("k=%d\n",k); } 【程序设计】 -------------------------------------------------- 功能: 在键盘上输入一个3行3列矩阵的各个元素的值(值 为整数),然后输出主对角线元素的平方和,并在 main函数中输出。 ===>如: 输入 123 456 789 则计算结果为: Sum=107 ------------------------------------------------*/ #include intfun(inta[3][3]) { /**********Program**********/ inti,j,sum=0; for(i=0;i<3;i++) for(j=0;j<3;j++) {if(i==j) sum=a[i][j]*a[i][j]+sum;} returnsum; /**********End**********/ } voidmain() { inti,j,s,a[3][3];; for(i=0;i<3;i++) { for(j=0;j<3;j++) scanf("%d",&a[i][j]); } s=fun(a); printf("Sum=%d\n",s); } 【程序设计】 --------------------------------------------------功能: 求一批数中最大值和最小值的积。 ===>生成数据 5115204154 2613434445 5454355826 4247184340 1628361047 5040604215 结果 theresultis: 600 ------------------------------------------------*/#defineN30 #include"stdlib.h" #include intmax_min(inta[],intn) {/**********Program**********/ inti,max,min,sum=0; max=a[0];min=a[0]; for(i=0;i<30;i++) {if(a[i]>=max) max=a[i]; if(a[i]<=min) min=a[i]; } sum=max*min; returnsum; /**********End**********/ } main() { inta[N],i,k; for(i=0;i a[i]=rand()%(51)+10; for(i=0;i {printf("%5d",a[i]); if((i+1)%5==0)printf("\n"); } k=max_min(a,N); printf("theresultis: %d\n",k); } 10题目: 下列程序定义了N×N的二维数组,并在主函数中自动赋值。 请编写函数fun(inta[][N]),该函数的功能是: 将数组 左下半三角元素中的值全部置成0。 例如: a数组中的值为: 197 238 456则返回主程序后a数组中的值应为: 097 008
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 27
![提示](https://static.bdocx.com/images/bang_tan.gif)