- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C语言上机练习题(2008-6-2)
2008-6-2上机练习题
1.以下程序的功能是:对于一个长度不超过50的字符串S,按输入的命令进行删除、插入字符的操作。删除和插入命令的格式如下:
(1)删除命令格式:D a(a表示被删除的字符).
命令功能:从字符串S中删除字符a,若S串中有多个a,只删除第一个。
例如,S字符串为 This is a book.,执行命令D s后,S字符串变为“Thi is a book.。
(2)插入命令格式:I a1 a2(a1表示定位字符,a2表示要插入的字符)。
命令功能:将字符a2插入到字符串S中最后一个出现的字符a1的前面。
例如,S字符串为This is a book.,执行命令 I s d后,S字符串变为This ids a book.。
#includestring.h
#includestdio.h
#includestdlib.h
void del(char s[], char c);
void insert(char s[], char c1,char c2);
main()
{ char s[50]=This is a book., op, c1[2], c2[2];
int i, p,k;
printf(\nInput command\n);
scanf(%c, ______);
switch(op)
{ case D: scanf(%s, c1); del(s, c1[0]); break;
case I: scanf(%s%s, c1,c2); insert(s, c1[0], c2[0]); break;
default: printf(\n Command format error!\n); return 1;
}
printf(%s\n, s);
}
void del(char s[], char c)
{ int i, n=-1;
for(i=0; s[i]!=\0; i++)
if(s[i]==c){n=i;break;}
if(n==-1)
{ printf(\nThere is no \%c\ in the \%s\\n, c,s);
exit(1);
}
for(i=n;s[i]!=\0;i++)s[i]=_________;
}
void insert(char s[], char c1, char c2)
{ int i, n=-1, m;
for(i=0; s[i]!=\0;i++)
if(s[i]==c1)n=i;
if(n==-1)
{ printf(\nThere is no \%c\ in the \%s\\n, c1,s); exit(0); }
m=strlen(s);
for(i=m;in;i--)s[i]=s[i-1];
_________;
}
2.以下程序的功能是:根据公式和精度要求计算π的近似值。
#includestdio.h
#includemath.h
double PI(double eps)
{ double s=0, t=1.0;
int n;
for(n=1;_______;n++)
{ s+=t; t=t*________; }
return 2.0*s;
}
void main()
{ double e=1e-6;/*e是计算精度要求,这里表示允许运算结果值在小数点后第6位有误差*/
printf(%f, _____);
}
3.以下程序的功能是:寻找并输出11至999之间所有整数m,满足条件均为回文数(所谓回文数,是指其各位数字左右对称的整数。例如:121、12321都是回文数)。
#includestdio.h
int f(long n)
{ int i=0,j=0,a[10];
while(n!=0)
{ a[j++]=n%10;
n=_________;
}
j--;
while(_________)
{ if(a[i]==a[j]) i++,j--;
else return 0;
}
return 1;
}
main()
{ long m;
for(m=11; m1000; m++)
if(f(m)f(m*m)f(m*m*m))
printf(m=%ld, m*m=%ld, m*m*m=%ld\n, m,m*m, m*m*m);
}
第 2 页 共 2 页
文档评论(0)