首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请编写函数fun,该函数的功能是:将s所指字符串中ASCII码值为偶数的字符删除,串中剩余字符形成一个新串放在t所指的数组中。 例如,若s所指字符串中的内容为“ABCDEFGl2345”,其中字符B的ASCII码值为偶数,字符2的ASCII码值为偶
请编写函数fun,该函数的功能是:将s所指字符串中ASCII码值为偶数的字符删除,串中剩余字符形成一个新串放在t所指的数组中。 例如,若s所指字符串中的内容为“ABCDEFGl2345”,其中字符B的ASCII码值为偶数,字符2的ASCII码值为偶
admin
2018-03-28
31
问题
请编写函数fun,该函数的功能是:将s所指字符串中ASCII码值为偶数的字符删除,串中剩余字符形成一个新串放在t所指的数组中。
例如,若s所指字符串中的内容为“ABCDEFGl2345”,其中字符B的ASCII码值为偶数,字符2的ASCII码值为偶数,都应当删除,其他依此类推。最后t所指的数组中的内容应是“ACEGl35”。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
试题程序:
#include<stdlib.h>
#include<stdio.h>
#include<string.h>
#include<conio.h>
void fun(char*s,char t[])
{
}
void main()
{
char s[100],t[100];
system("CLS");
printf("\nPlease enter
string s:");
Scanf("%s",s);
fun(s,t);
print:f("\nThe result:is:%s
\n",t);
}
选项
答案
void fun(char*s,char t[]) { int i=0; for(;*s!=’\0’;s++) / *找出ASCII值为奇数的字符依次存入数组t中*/ if(*s%2==1) t[i++]=*s; t[i]=’\0’; /*在字符串的末尾加上串结束符*/ }
解析
本题要求将s所指字符串中ASCII码值为偶数的字符删除,因此本题要求采用一个for循环来找出ASCII码值为奇数的字符依次存入数组t中,并使用if条件句来判断s所指字符串中ASCII码值是否为奇数。用’\0’加在字符串的末尾来表示字符串的结束。
要删除ASCII码值为偶数的字符,也就是要留下ASCII码值为奇数的字符。由于最终是要求出剩余字符(即ASCII码值为奇数)形成的新串,所以本题程序的算法是对原字符串从头到尾扫描,并找出ASCII码值为奇数的字符并将其依次存入数组t中。此外,还要注意数组t的下标变化和下标的初值(初值必须为0,即i-0),t[i++]的作用是先使用t
,然后再使i自增1。
转载请注明原文地址:https://jikaoti.com/ti/Naa0FFFM
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
以下程序的输出结果是()。#include<stdio.h>intfun(intx){staticintt=0;return(t+=x);}main(){ints,i;for(i=1;
有以下程序intf(intn){if(n==l)return1;elsereturnf(n-1)+1;}main(){inti,j=0;f
先用以下语句定义字符型变量:charc;然后要将字符a赋给变量c,则下列语句中正确的是()
下列程序的输出结果是______。main(){floatx=2.0,y;if(x<0.0)y=0.0;elseif(x<10.0)y=1.0/x;elsey=1.0;printf("%f\n",y);}
有下列程序段:intk=0,a=1,b=2,c=3;k=a<b?b:a;k=k>c?C:k;执行该程序段后,k的值是()。
请在以下程序第一行的下划线处填写适当内容,使程序能正确运行。 【】(double,double); main( ) {doublex,y; scanf("%lf%lf",&x,&y); printf("%lf\n",ma
若有以下程序 intf(intx,inty) { return(y-x)*x;} main( ) { inta=3,b=4,c=5,d; d=f(f(3,4),f(3,5)); printf("%d\n",d);
在关系中凡能惟一标识元组的最小属性集称为该表的键或码。二维表中可能有若干个键,它们称为该表的()。
以下关于函数的叙述中正确的是()。
下列关系运算的叙述中,正确的是______。
随机试题
采用慢速维持荷载法对某直径为1.2m、桩长为20m的桥梁桩基进行竖向静载试验,已知桥位处地基土为坚硬黏质土,请回答以下问题。当出现下列()情形之一时,应终止加载。
A.单纯扩散B.易化扩散C.继发性主动转运D.原发性主动转运K+由细胞内向细胞外转运,属于
在细菌性肝脓肿中,细菌进入肝脏最常见的途径是
A.粪便学检查B.血液涂片检查C.肌肉压片检查D.生殖道黏膜涂片检查E.淋巴结穿刺检查双芽巴贝斯虫病可采取的检查方法是
[2011年第078题,2006年第104题,2000年第140题,1999年第154题]根据我国《城市居住区规划设计规范》的规定,下列公共绿地的指标哪一项是正确的?
工程项目管理的基本原理不包括()。
工作单位内部的工会委员从事的工作属于( )。
下列哪项不是肝硬化腹水治疗必须遵循的原则?()
提出操作性条件反射学习理论的心理学家是()。
在表设计器的“字段”选项卡中,字段有效性的设置项中不包括
最新回复
(
0
)