2010C语言题目解答,2010C语言题目解答讲解.doc

本文详细解析了2010年高考C语言题目,涉及字符串操作技巧,如删除连续的'-'字符并保留字母字符。展示了如何使用isalpha函数判断字符和填充''来完成字符串处理。同时,针对程序错误给出了修改建议,包括正确获取字符串位值和循环变量初始化。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

2010C语言题目解答讲解

2010高考真题详解

第一套

【程序填空】

题目:对只包含'-'和字母字符的字符串str进行如下处理:

删除str中前导和尾部连续的'-'字符,保留串中字母字符以及字母间的'-'字符。

例如,str中初始字符串为"----C--Language--Test----"。

处理后,str中的字符串为"C--Language--Test"。

程序中isalpha函数功能是判断参数是否是字母,是字母,函数值为真,否则函数值为假。

#include

#include

void main(){

char str[]={"---C--Language--Test---"};

int i,start,end;

i=0;

while(str[i++]=='-') ; /*该循环体为空,由前往后,不等于‘-’,则退出循环,i还多加1,实质i指向非减号的第二个字符*/

start=i-1; /*start指实非减号的第一个字符*/

while(str[i] != 【?】){ /*继续向后遍历字符串*/

if(isalpha(str[i])) /*如果是字母,则end=-1,表示不是结尾的地方*/

end=-1;

else if(isalpha(str[i-1])) /*不是字母,如果前一个是字母,则结束的位置为当前的前一个,即end=i-1*/

end=i-1; /*由于由前往后的,遍历结束后,end只能保存最后一个结束的位置*/

i++;

}

str[end+1]='\0'; /*在最后一个结束位置的字符后人工补\0,相当于去除尾部减号*/

for(i=start;i<=end+1;i++) /*通过循环,将从start开始到人工补的\0的所有字符前移*/

str[i-【?】] = str[i]; /*填start,这样i的初值为start,相当于第一个字符移到srt[0]*/

printf("%s\n",str);

}

答案:

1). 0 或 '\0'

2). start

【程序改错】

题目:函数unsigned fun(long s, int w)返回长整型变量s中第w位的值,例如调用fun(216783,1) 函数返回3,调用fun(216783,3)函数返回7。main()从键盘接收一个长整数给变量s,通过调用fun()函数求s奇数位之和,例如数216783各奇数位数字为1,7和3,它们的和为11。

下面给定的程序存在错误,请改正。

#include

unsigned fun(long s, int w)

{

int d;

while(w>0)

{

d %= 10; /*d=s%10;取出s的最后一位*/

s /=10; /*去除s的最后一位*/

w--;

}

return d;

}

main()

{

unsigned tot, w; /*累加器要赋初值0,w要赋初值1*/

long s, step;

printf(" Enter a long integer number:");

scanf("%ld", &s);

step = s;

while (step!=0)

{

tot = fun( s ,w); /*进行累加tot+=fun(s,w)*/

w+=2; /*w每次加2,这样正好全为奇数*/

step /=100;

}

printf("tot=%d\n", tot);

return 0;

}

答案:

1). d = s % 10;

2). unsigned tot=0, w=1; 或 int tot=0, w=1; 或 unsigned int tot=0, w=1; 或 char tot=0, w=1; 或 unsigned char tot=0, w=1;

3). tot += fun(s,w); 或 tot = fun(s,w) + t

要下载2010年的C语言学习版,可以按照以下步骤进行操作: 首先,在互联网上搜索2010年的C语言学习版软件。可以使用搜索引擎,例如百度或者谷歌来找到相关的下载链。 点击合适的下载链后,会跳转到下载页面。在下载页面上,会提供多个下载选项,例如下载速度、文件大小等。选择一个合适的下载选项,比如选择较快的下载速度。 然后,点击下载按钮开始下载。通常会出现一个弹出窗口询问是否保存文件或选择存储位置。选择保存文件,并选择一个合适的存储位置,如桌面或者下载文件夹。 下载完成后,定位到保存的文件所在位置,双击打开文件。有些下载的文件可能是压缩包形式,需要解压缩后才能使用。如果是压缩包,可以使用解压软件如WinRAR或者7-Zip进行解压。 解压完成后,进入解压后的文件夹,找到安装程序或者可执行文件。双击运行安装程序,按照安装界面的提示,选择安装路径和其他选项,点击下一步或者继续进行安装。 安装完成后,可以在开始菜单或者桌面上找到C语言学习版的快捷方式,双击打开即可开始使用。 注意,在下载和安装过程中要保持网络的稳定和安全,确保下载的软件是合法、安全的。此外,如果有其他疑问或者问题,可以查阅相关的使用手册或者向官方支持渠道寻求帮助。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值