c语言编程课后训练20道题C language programming afterschool training 20 questions.docx
- 文档编号:16646276
- 上传时间:2023-07-16
- 格式:DOCX
- 页数:32
- 大小:20.57KB
c语言编程课后训练20道题C language programming afterschool training 20 questions.docx
《c语言编程课后训练20道题C language programming afterschool training 20 questions.docx》由会员分享,可在线阅读,更多相关《c语言编程课后训练20道题C language programming afterschool training 20 questions.docx(32页珍藏版)》请在冰点文库上搜索。
c语言编程课后训练20道题Clanguageprogrammingafterschooltraining20questions
c语言编程课后训练20道题(Clanguageprogramming,after-schooltraining20questions)
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------
功能:
下面函数为二分法查找值数组中元素已递增排序关键,
若找到关键则返回对应的下标,否则返回-1。
-------------------------------------------------------*/
#包括
乐趣(int,int,int,int)
{
低,高,中;
低=0;
高=n-1;
**********************/空间/
而(【?
】)
{
中=(低+高)/2;
如果(键<中)
**********************/空间/
【?
】;
否则如果(键>中)
**********************/空间/
【?
】;
其他的
**********************/空间/
【?
】;
}
返回-1;
}
main()
{
a[10]={1,2,3,4,5,6,7,8,9,10};
C,C;
b=4;
C=乐趣(A,10,B);
如果(c=1)
printf(“没有发现”);
其他的
printf(“位置%d\n”,C);
}
标准答案:
低<=高=中叶1低=中+1回中
/*------------------------------------------------
【程序设计】
--------------------------------------------------
功能:
编写函数乐趣求1!
+2!
+3!
+…!
的和,在主要函
数中由键盘输入N值,并输出运算结果请编写乐趣。
函数。
例如:
若N值为5,则结果为153。
------------------------------------------------*/
#包括
无效wwjt();
长整型(整数N)
{
********************/程序/
********************/结束/
}
main()
{
intn;
长整型结果;
scanf(“%d”,和N);
结果=乐趣(N);
printf(“%ld”,结果);
wwjt();
}
无效wwjt()
{
文件*,*输出;
inti;
intI;
长整型输出电流;
=fopen(“数据”,“r”);
如果(=NULL)
{
printf(“请验证电流方向,可以改变”);
}
=fopen(“数据”、“W”);
如果(out=NULL)
{
printf(“请确认当前目录..可能会改变);
}
对于(i=0;i<10;i+)
{
fscanf(,“%d”,&I);
输出电流=乐趣(IIN);
fprintf(,“%2”,输出电流);
}
关闭文件(中);
关闭文件(出);
}
标准答案:
inti,j,s,t=0;
对于(i=n;i=0;i…)
{1;
对于(j=1;j=i;j++)
s=j*j;
T=s;}
返回T;
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------
功能:
以下程序的功能F={|x+1|x<0
{2*x+10<<=x=5
{(x)+5x>5
-------------------------------------------------------*/
#包括
**********************/空间/
【?
】
main()
{
双x,f;
scanf(“%”,和X);
**********************/空间/
如果(x<0)【?
】;
**********************/空间/
如果(【?
】)
f=2×1;
其他的
f=x(x)+5;
**********************/空间/
printf(“x=y=%%F,Fn”,【?
】);
}
标准答案:
#包括 /*------------------------------------------------ 【程序设计】 -------------------------------------------------- 功能: 求一个四位数的各位数字的立方和 ------------------------------------------------*/ #包括 无效wwjt(); 趣味(整数N) { ********************/程序/ ********************/结束/ } main() { intk; k=乐趣(1234); printf(“K=%d\n”,K); wwjt(); } 无效wwjt() { 文件*,*输出; intI,电流输出,我; =fopen(“22”、“R”); 如果(=NULL) { printf(“请验证电流方向,可以改变”); } =fopen(“22”、“W”); 如果(out=NULL) { printf(“请确认当前目录..可能会改变); } 对于(i=0;i<10;i+) { fscanf(,“%d”,&I); 输出电流=乐趣(IIN); fprintf(,“%d\n”,输出电流); } 关闭文件(中); 关闭文件(出); } 标准答案: a,b=0; 而(n)! =0) {=n10; b; n=10;} 返回B; /*------------------------------------------------------- 【程序填空】 --------------------------------------------------------- 功能: 输出100到1000之间的各位数字之和能被15整除的所有数, 10个一行输出时每。 -------------------------------------------------------*/ #包括 main() { 整数m,n,k,i=0; 对于(m=100;m=1000;m++) { **********************/空间/ 【? 】; N=m; 做 { **********************/空间/ K=K+【? 】; n=10; } **********************/空间/ 【? 】; 如果(k=15=0) { printf(“%5D”,m);i++; **********************/空间/ 如果(我%10==0)【? 】; } } } 标准答案: K=0N(N为10时! =0)printf(“\n”) 功能: 以下程序的功能: 兀/4=1/3+1/5-1/7+…求兀的近似值(要求直到最后一项的绝对值小于0.00001为止)。 -------------------------------------------------------*/ #包括 #包括<<数学。 ” main() { intF; **********************/空间/ 【? 】; 双T,π; T=1;π=t;f=1;n=1; **********************/空间/ 而(【? 】) { n=n+2; **********************/空间/ 【? 】; T=n/n; π=π+t; } **********************/空间/ 【? 】; printf(“PI=%10.6f\n”,PI); } 标准答案: 浮N线(T)>=1E-6F=Fπ=π×4 /*------------------------------------------------------ 【程序改错】 -------------------------------------------------------- 功能: 实现两个字符串的连接。 例如: 输入dfdfqe和12345时,则输出dfdfqe12345。 ------------------------------------------------------*/ #包括 main() { charS1[80],S2[80]; 无效的粪便(charS1[],[]字符S2); 获取(S1); 获取(S2); SCAT(S1、S2); 放(S1); } 无效的粪便(charS1[],[]字符S2) { int=i0,j=0; ********************/发现/ 当(S1i=“0”) ++; ********************/发现/ 当(0) { ********************/发现/ S2; ++; ++; } ********************/发现/ S2=“0”; } 标准答案: 虽然(S[1])! =“0”,而s (2)! =“0”)S1[我][J]=S2S1[我]=“0” /*------------------------------------------------------- 【程序填空】 --------------------------------------------------------- 功能: 以下程序的功能: 在X数组中放入N个采集值,计算并输出方差值。 -------------------------------------------------------*/ #包括<是>。 H #包括 **********************/空间/ 双(【有趣吗? 】,intn) { **********************/空间/ 【? 】; 双XA=0,s; 对于(j=0;j;n;j+) XA; **********************/空间/ 【? 】; 对于(j=0;j;n;j+) s=(x); **********************/空间/ 【? 】; } 主要() { 双X[100]={193.199,195.673,195.757,196.051,196.092196.596196.579,196.763}; printf(“F”,乐趣(x,8)); } 标准答案: 双X[]j=0的回报的 /*------------------------------------------------------ 【程序改错】 -------------------------------------------------------- 功能: 求如下表达式: 111 S=1+——+——+......+------- 1+2,1+2+3+2+3+1+N...... ------------------------------------------------------*/ #包括 main() { intn; 双fun(); printf(“请输入一个数字: “); ********************/发现/ 打印(“%d”,n); printf(“%10.6f\n”,有趣的(n)); } ********************/发现/ 乐趣(整数N) { 整数,j,t; 双S; s=0; ********************/发现/ 当(i=1;i=n;i++); { T=0; 对于(j=1;j=i;j++) T=J; ********************/发现/ =1; } 返回的; } 标准答案: scanf(“%d”,与N)双乐趣(intn)为(i=1;i<=n;i++)S=S+1.0/t /*------------------------------------------------------ 【程序改错】 -------------------------------------------------------- 功能: 将若干学生的档案存放在一个文件中,并显示其内容。 ------------------------------------------------------*/ #包括 学生结构 { intnum; char名称[10]; 年龄; }; 学生的研究[3]={{001,18},“李梅”, {002,“JiHua”,19}, {003,“孙浩”,18}; #包括 无效main() { ********************/发现/ 学生P结构; ********************/发现/ 当时,FP; inti; 如果((FP=fopen(“stu_list”、“WB”))==null) { printf(无法打开文件“\n”); 返回; } ********************/发现/ 对于(学生=学生;P+斯图+3;P++) fwrite(P,sizeof(struct的学生),1,FP); 关闭文件(FP); FP=fopen(“stu_list”、“rb”); printf(“号姓名年龄\n”); 对于(i=1;i<3;i++) { fread(P,sizeof(struct的学生),1,FP); ********************/发现/ scanf(“第%4d%-10秒第%4d\n”,*p.num,P>的名字,(p)。 年龄); } 关闭文件(FP); } 标准答案: 学生*PCFile*FP(P=斯图;P<斯图+3;P++)printf(“第%4d%-10秒第%4d\n”,(p)。 Num,P>的名字,(p)。 年龄) /*------------------------------------------------------- 【程序填空】 --------------------------------------------------------- 功能: 产生并输出如下形式的方阵。 1222221 3122214 3312144 3331444 3315144 3155514 1555551 -------------------------------------------------------*/ #包括 main() { int[7][7]; int,j; 对于(i=0;i<7;i+) 对于(j=0;j<7;j++) { **********************/空间/ 如果(【? 】)一个[我][J]=1; **********************/空间/ 如果(我 】; 如果(我>J&i+j小于6)一个[我][J]=3; **********************/空间/ 如果(【? 】)一个[我][J]=4; else(a[i][j]=5; } for(i=0;i<7;i++) { for(j=0,j<7;j++) printf("%4d",a[i][j]); /*******space***********/ 【? 】; } } 标准答案: in==j||i+j==6a[i][j]=2i>j&&i+j>6printf("\n") /*------------------------------------------------------ 【程序改错】 -------------------------------------------------------- 功能: 求1到20的阶乘的和. ------------------------------------------------------*/ #includestdio.h>< fun() { intn,j; floats=0.0,t=1.0; for(n=1;n<=20;n++) { /**********i**********/ s=1; for(j=1;j<=n;j++) /**********i**********/ t=t*n; /**********i**********/ s+t=s; } /**********i**********/ printf("jiecheng=%d\n",s); } main() { fun(); } 标准答案: t=1,t=t*js=s+tprintf("jiecheng=%f\n",s) /*------------------------------------------------ 【程序设计】 type: 功能: 从键盘输入一个大于3的整数,调用函数fun判断 其是否素数,然后在main函数中输出相应的结论 信息. 例如: 7是素数,8不是素数.请编写fun函数.素数是 仅能被1和自身整除的数 -------------------------------------------------*/ #includestdio.h>< wwjt(void); intfun(intn) { /**********program**********/ /**********from**********/ } main() { intm,flag; printf("inputaninteger: "); scanf("%d",&m); flag=fun(m); if(flag) printf("%disaprime.\n',m); else printf("%disnotaprime.\n',m); wwjt(); } wwjt(void) { file*in,*out; inta,ioutin; in=fopen("5.in","r"); if(in==null) { printf("pleaseverifythecurrerntdir..itmaybechanged"); } out=fopen("5.out","w"); if(out==null) { printf("pleaseverifythecurrentdir...itmaybechanged"); } for(i=0;i<10;i++) { fscanf(in"%d"&a); iout=fun(a); fprintf(out,"%d"n",iout); } fclose(in); fclose(out); } 标准答案: inti,j=0; for(i=2 if(n%i==0)j++; if(y==0) return1; else return0; /*------------------------------------------------------ 【程序改错】 -------------------------------------------------------- Function: replacesthesubstrings,whichlastappearedinstringT1,intostringt2, ThenewstringformedisplacedinanarrayreferredtobyW,whereT1andT2arerequired Thelengthofthestringtorefertoisthesame. Forexample,whenthecontentsofthestringinthesstringreferto"abcdabfabc",thecontentsintheT1 For"ab",thecontentinT2is"99",andthecontentintheindexgroupoftheresultw Shouldbe"abcdab
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- c语言编程课后训练20道题C language programming afterschool training 20 questions 语言 编程 课后 训练 道题
![提示](https://static.bingdoc.com/images/bang_tan.gif)
链接地址:https://www.bingdoc.com/p-16646276.html