首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
规定输入的字符串中只包含字母和*号。编写函数fun,其功能是:删除字符串中所有的*号。编写函数时,不得使用C语言提供的字符串函数。 例如,字符串中的内容为“****A*BC*DEF*G*******”,删除后,字符串中的内容应当是 “ABCDEFG
规定输入的字符串中只包含字母和*号。编写函数fun,其功能是:删除字符串中所有的*号。编写函数时,不得使用C语言提供的字符串函数。 例如,字符串中的内容为“****A*BC*DEF*G*******”,删除后,字符串中的内容应当是 “ABCDEFG
admin
2017-09-23
34
问题
规定输入的字符串中只包含字母和*号。编写函数fun,其功能是:删除字符串中所有的*号。编写函数时,不得使用C语言提供的字符串函数。
例如,字符串中的内容为“****A*BC*DEF*G*******”,删除后,字符串中的内容应当是 “ABCDEFG”。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
试题程序:
#include < conio.h >
#include < stdio.h >
void fun(char*a)
{
}
void main()
{
char s[81];
print:f("Enter a string:\
n");
gets(s);
fun(s);
print:f("The string after deleted:\n");
puts(s);
}
选项
答案
void fun (char*a) { int i,j=0; for(i=0;a[i]!=’\0’;i++) if(a[i]!=’*’) a[j++]=a[i]; /*若不是要删除的字符’*’则保留*/ a[j]=’\0’; /*最后加上字符串结束符’\0’*/ }
解析
本题考查:删除字符串中所有*号,需用循环语句遍历字符串,用判断语句判断字符是否为*号,由此可以决定该程序应使用循环判断结构。用循环操作从字符串开始往后逐个进行比较,若不是要删除的字符(用if(a
!=’*’)来控制)则保留。变量i和j用来表示原字符串的下标和删除*号后新字符串的下标。注意,下标变量j要从0开始,最后还要加上字符串结束标识‘\0’。
转载请注明原文地址:https://jikaoti.com/ti/YFi0FFFM
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
有以下程序:intf1(doubleA){returna*a;}intf2(intx,inty){doublea,b;a=f1(x);b=f1(y);returna+b;}mai
若定义函数int*func(),则函数func的返回值为()。
定义如下变量和数组:inti,x[3][3]={1,2,3,4,5,6,7,8,9};则下面语句的输出结果是()。for(i=0;i<3;i++)printf("%d",x[i][2-i]);
执行程序时的输入为123456789,则程序的运行结果为()。#include"stdio.h"main(){inta,b;scanf("%2d%*2d%1d",&a,&B);printf("%d\n",
已知下列函数定义:fun(int%,intc,intn,intdatA){intk;for(k=0;k<m*n;k++){*b=data;b++;}}则调用此函数的正确写法是(假设变量a的说明为int
以下语句段执行后的输出结果是()。#include<stdio.h>main(){intk=3;if(k)printf("###")elseprintf("&&&&");}
阅读以下程序#include<stdio.h>main(){IntCase;floatprintF;printf("请输入2个数:");scanf("%d%f",&Case,&printF);print
以下程序的功能是:将输入的正整数按逆序输出。例如:若输入135,则输出531,请填空。#include<stdio.h>main(){intn,s;printf("Enteranumber:");scanf("%d",&n)
若变量都已正确说明,则以下程序段输出结果为()。#include<stdio.h>main(){chara=’a’;intb=2;printf(a>b?”***a=%d":"###b=%d",a,B;
以下选项中与if(a==1)a++;elsea=b;语句功能不同的语句是()。
随机试题
关于2:3:1含钠液,错误的是
Bathshavelongbeenconsideredofmedicalimportancetoman.InGreecetherearetheruinsofawatersystemforbathsbuiltov
动机的分类有哪些?
患者,女,25岁。四肢大关节游走性疼痛3年。近半年心慌气短,双下肢浮肿。检查:颈静脉怒张,双下肢凹陷性水肿,肝肋缘下3.5cm,心尖部可闻及舒张期杂音。其诊断是()
公司发行债券所募集的资金属于公司的资本金。()
转换生成语法理论的主要概念有()。
在解下面这道应用题时,学生出现了两种不同的解法:有一批货物,分3天运完。第一天运走30%,第二天比第一天多运走80吨,第三天比第二天多运走80吨。问这批货物共有多少吨?(1)(80+80×2)÷(1—30%×3)=240÷(1—90%)=240÷0
下列关于立法程序的表述.正确的是()
E-R图中包括三种基本图素。其中表示“联系”的图形符号是()。
Askthreepeopletolookoutthesamewindowatabusystreetcornerandtotellyouwhattheyhaveseen.Chancesarethatyouw
最新回复
(
0
)