c++实例 编写函数fun,函数的功能是:从字符串中删除指定的字符。同一字母的大、小写按不同字符处理

合集下载

经典C语言编程(20题)

经典C语言编程(20题)

1.请编写一个函数fun,其功能是:删除字符串中的数字字符。

例如,输入字符串为:48CTYP9R6,则输出:CTYPR。

部分源程序已经给出,请勿改动主函数的内容。

main(){ char item[100];gtes(item);fun(item);printf(“The string:%s\n”,item);}解答:#include<stdio.h>#include<string.h>void fun(char s[]){int i,j;for(i=j=0;s[i]!='\0';i++)if(s[i]>='0' && s[i]<='9') i++;elses[j++]=s[i]; s[j]='\0';}main(){ char item[100];gets(item);fun(item);printf("The string:%s\n",item); }2. 从键盘上读入一字符串存入字符数组xx中,请编制函数encryptChar(),按给定的替代关系对数组xx中的所有字符进行替代,仍存入数组xx的对应位置上,最后调用函数WriteDat()将结果xx输出。

替代关系如下:f(p)=p*11%256其中,p是数组xx中某一个字符的ASCII值,f(p)是计算后新字符的ASCII值),如果原字符的ASCII值是偶数或计算后f(p)值小于32,则该字符不变,否则用f(p)所对应的字符进行替代。

设字符串的长度小于80个字符,部分源程序已给出。

除增加必要的数据定义、函数参数外,请勿改动主函数的内容。

#include <stdio.h>main(){ char xx[80];gets(xx);encryptChar();WriteDat();}解答:#include<stdio.h>#include<string.h>void encryptChar(char a[]) {int i,j;for(i=j=0;a[i]!='\0';i++) if(a[i]%2==0 ||(a[i]*11%256<32))a[j++]=a[i];elsea[j++]=a[i]*11%256; } WriteDat(char a[]) {puts(a);}main(){ char xx[80];gets(xx);encryptChar(xx); WriteDat(xx);} _3. 设有数组:int a[10]={6012,5099,9012,7025,8088,9096,8080,3046,5082,2345};请编制函数jssort(),其功能是:要求按每个数的后三位的大小进行升序排序,然后调用函数WriteDat()将结果输出。

2020年9月全国计算机等级考试二级C语言上机题库(共55套全)

2020年9月全国计算机等级考试二级C语言上机题库(共55套全)

2020年9月全国计算机等级考试二级C语言上机题库(共55套全)第一套1 程序填空给定程序的功能是:从键盘输入若干行文本(每行不得超过80个字符),写到文件myfile4.txt中,用-1作为字符串输入结束的标志。

然后将文件的内容读出显示在屏幕上。

文件的读写分别由自定义函数ReadText和WriteText实现。

第1处void WriteText(FILE*fw)第2处fputs(str,fw);fputs(“\n”,fw);第3处printf(“%s”,str);2 程序修改给定程序MODI1.C中函数fun的功能是:从低位开始取出长整形变量s中奇数位上的数,依次构成一个新数t中。

高位仍在高位,低位仍在低位。

/**found**/void fun(long s,long*t)/**found**/s1=s1*10;3 程序设计函数fun的功能是:将两个两位数的正整数a 、b合并形成一个整数放在c中。

合并的方式是:将a数的十位和个位数依次放在c 数的十位和百位上,b数的十位和个位数依次放在c数的千位和十位上。

void fun(int a,int b,long*c){*c=(b/10)*1000+(a%10)*100+(b%10)*10+(a/10);}第二套1 程序填空给定程序中,函数fun的功能是:计算出形参s所指字符串中包含的单词个数,作为函数值返回。

为便于统计,规定各单词之间用空格隔开。

第1处n++;flag=1;}第2处if(*s= =’’)flag=0;第3处s++;2 程序修改给定程序MODI1.C中函数fun的功能是:从n(形参)个学生的成绩中统计出低于平均分的学生人数,此人数由函数值返回,平均分存放在形参aver 所指的存储单元中。

/**found**/t+=s[k];/**found**/*aver=ave;3程序设计请编写函数fun,其功能是求出数组的最大元素在数组中的下标并存放在k所指的存储单元。

计算机二级C语言上机试题库和答案解析(100套)

计算机二级C语言上机试题库和答案解析(100套)

完美WORD格式计算机二级 c 语言上机题库及答案内部资料,切勿外传!.第 1 套填空题请补充 FUN 函数,FUN 函数的功能是求 10 的阶乘。

注意:部分源程序给出如下。

请勿改动主函数 main 和其他函数中的任何内容,仅在 fun 函数的横线上填入所编写的若干表达式或语句。

试题程序:#include<stdio.h>longfun(int n){if ( 1 )return (n*fun( 2));return 3;}main(){printf("10!=%ld\n", fun(10));}第 1 处填空:n>1 或 1<n第 2 处填空:n-1第 3 处填空:1 或 11 或 1L改错题下列给定程序的功能是:读入一个整数 K(2〈=K〈=10000),打印它的所有因子(即所有为素数的因子)。

例如,若输入整数 2310,则应输出:2、3、5、7、11。

请改正程序中的错误,使程序能得出正确的结果。

注意:不要改动 main 函数,不得增行或删行,也不得更改程序的结构!试题程序:#include <conio.h>#include <stdio.h>/********found********/IsPrime(intn);{int i,m;m =1;/********found********/for (i=2; i<n;i++)if !(n%i){m = 0;break;}return(m);}main(){int j, k;printf("\nplease enter an integer number between2and 10000:");scanf("%d", &k);printf("\n\nThe prime factor(s) of %dis(are):", k);for (j=2; j<k; j++)if ((!(k%j)) && (IsPrime(j)))printf(" %4d,", j);printf("\n");}第 1 处:Isprime(int n);应改为Isprime(int n)第 2 处:if !(n%i)应该为if(!(n%i))编程题M 个人的成绩存放在 score 数组中,请编写函数 fun,它的功能是:返回低于平均分的认输,并将低于平均分的分数放在below 所指的数组中。

C语言之符号删串应用——字符删除

C语言之符号删串应用——字符删除
例如,字符串中的内容为:****A*BC*DEF*G*******,删除后,字符串中的内容应当是:****ABCDEFG。
#include <stdio.h>
void fun( char *a )
{
int i=0;
char *p=a;
while(*p&&*p=='*')
{
a[i]=*p;
i++;
p++;
char *q=a;
while(q<h)
{ a[i]=*q; q++;i++;}
while(q<p)
{ if(*q!='*')
{ a[i]=*q;
i++;
}
q++;
}
while(*q)
{ a[i]=*q; i++; q++;}
a[i]='\0';
}
main()
{ char s[81],*t, *f;
{char *p=a;
while(*p=='*') p++;
strcpy(a,p);
}*/
3.规定输入的字符串中只包含字母和*号。编写函数fun,其功能是:除了字符串前导和尾部的*号外,将串中其它的*号全部删除。形参h已指向字符串中第一个字母,形参p指向字符串的中最后一个字母。在编写函数时,不得使用C语言提供的字符串函数。
#include <stdio.h>
void fun( char *a, char *h,char *p )

以下内容仅本班同学阅读。C语言答案

以下内容仅本班同学阅读。C语言答案

1◆◆◆◆◆◆◆◆◆◆◆◆◆◆【填空】下列给定程序中,函数fun的功能是计算如下公式。

直到,并且把计算结果作为函数值返回。

例如,若形参e的值为1e-3,则函数返回值为0.551690。

【答案】【1】3.0 【2】> 【3】(t+1)【改错】下列给定程序中函数fun的功能是:求出如下分数序列的前n项之和。

和值通过函数值返回。

例如,若n=5,则应输出8.391667。

【答案】【1】double fun(int n)【2】s=s+(double)a/b;【编程】请编写函数fun,其功能是:找出2×M整型二维数组中最大元素的值,并将此值返回调用函数。

【答案】int i,j,max=a[0][0];for(i=0;i<2;i++)for(j=0;j<M;j++)if(max<a[i][j])max=a[i][j];return max;2◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆【填空】下列给定程序中,函数fun的功能是:计算如下公式前n项的和并作为函数值返回。

例如,当形参n的值为10时,函数返回值为9.612558。

【答案】【1】0【2】n【3】(t*t)【改错】下列给定程序中函数fun的功能是:统计substr所指的子符串在str所指的字符串中出现的次数。

例如,若字符串为aaas 1kaaas,子字符串为as,则应输出2。

【答案】【1】for(i=0;str[i];i++)【2】if(substr[k+1]== ′\0′)【编程】编写函数fun,其功能是:根据以下公式求π的值(要求精度0.0005,即某项小于0.0005时停止迭代)。

程序运行后,若输入精度0.0005,则程序应输出为3.14…。

【答案】double s=1.0,s1=1.0;int n=1;while(s1>=eps){s1=s1*n/(2*n+1);s=s+s1;n++;}Return 2*s3◆◆◆◆◆◆◆◆◆◆◆◆◆◆【填空】给定程序中函数fun的功能是:统计形参s所指的字符串中数字字符出现的次数,并存放在形参t所指的变量中,最后在主函数中输出。

C语言考试改错

C语言考试改错

第一套改错:fun的功能是:求出数组中最大数和次最大数,并把最大数和a[0]中的数对调、次最大数和a[1]中的数对调。

1、m=0; 改为m=i;2、if(a[k]>a[m]) k=m;改为if(a[k]>a[m]) m=k;第二套改错:fun的功能是:判断ch中的字符是否与str所指串中的某个字符相同;若相同,什么也不做,若不同,则将其插在串的最后。

1、void fun(char str, char ch ) 改为void fun(char *str, char ch ) 2、if ( *str == ch )改为if ( *str! = ch )3、str[1] = '0';改为str[1] = 0;第四套改错:fun函数的功能是:将p所指字符串中的每个单词的最后一个字母改成大写。

(这里的“单词”是指由空格隔开的字符串)。

1、if( p == ' ' )改为if( *p == ' ' )2、* (p-1) = toupper( *( p - 1 ) ) 改为* (p-1) = toupper( *( p - 1 ) );第六套改错:fun函数的功能是:tt所指字符串中的小写字母都改为对应的大写字母,其他字符不变。

1、if(( ‘a’ <= tt[i] )||( tt[i] <= ‘z’ ) )改为if(( ‘a’ <= tt[i] )&&( tt[i] <= ‘z’ ) )2、tt[i] + = 32;改为tt[i] - = 32;第三套改错:fun的功能是:计算整数n的阶乘。

1、result*=--n; 改为result*=n--;2、return _____;改为returnresult;第五套改错:fun函数的功能是:根据形参m,计算如下公式的值。

t=1+1/2+1/3+1/4+……+1/m1、t + = 1.0/k; 改为t + =1.0/i;2、________改为return t;第七套改错:fun函数的功能是:用冒泡法对6个字符串按由小到大的顺序进行排序。

73-76从语言试题

73-76从语言试题

第73套1.填空题请补充函数fun(),该函数的功能是:把ASCII码为偶数的字符从字符串str中删除,结果仍然保存在字符串str中,字符串str从键盘输入,其长度作为参数传入函数fun()。

例如,输入"abcdef",输出"ace"。

注意:部分源程序给出如下。

请勿改动主函数main和其他函数中的任何内容,仅在函数fun()的横线上填入所编写的若干表达式或语句。

试题程序:#include<stdio.h>#define N 80【1】{int i, j;【2】;for (i=0;i<n;i++){if(s[i]%2!=0)s[j++]=s[i];}【3】;}main(){int i=0, strlen=0;char str[N];clrscr();printf("\nInput a string:\n");gets(str);while(str[i]!='\0'){strlen++;i++;}fun(str, strlen);printf("\n*** display string ***\n");puts (str);}【1】void fun(char s[],int n)【2】j=0【3】s[j]=′ \0′【解析】填空1:由主函数main()调用fun()函数的格式可以知道,fun()函数没有返回值,第一个参数是字符数组,第二个参数是整型变量。

填空2:变量j声明时没有初始化,所以在使用j之前要将它初始化为0。

填空3:当把所有ASCII码为偶数的字符都存入字符串s中后,要在最后加上'\0',表示字符串的结束。

2. 改错题给定程序中,函数fun()的功能是:求输入的两个数中较小的数。

例如:输入5 10,结果为min is 5。

请改正fun()程序中的错误,使它能得出正确的结果。

计算机二级c 上机考试题库80题答案

计算机二级c  上机考试题库80题答案

第1套一、填空题给定程序的功能是求1/4的圆周长。

函数通过形参得到圆的直径,函数返回1/4的圆周长(圆周长公式为:L=Πd,在程序中定义的变量名要与公式的变量相同)。

例如:输入圆的直径值:19.527,输出为:15.336457请勿改动主函数main与其他函数中的任何内容,仅在横线上填写所需的若干表达式或语句。

#include<stdio.h>double fun(double d){return 3.14159*d/4.0;}main(){double z;printf("Input the d of the round:");scanf("%lf",&z);printf("L=%lf\n",fun(z));}二、改错题下列给定程序中函数fun的功能是:计算正整数m的各位上的数字之积。

例如,若输入202,则输出应该是0。

请修改程序中的错误,得出正确的结果注意:不要改动main函数,不能增行或删行,也不能更改程序的结构#include<stdio.h>#include<conio.h>long fun(long n){long r=1;do{r*=n%10;n/=10;}while(n);return(r);}main(){long m;printf("\nplease enter a number:");scanf("%ld",&m);printf("\n%ld\n",fun(m));}三、编程题请编写一个函数fun,它的功能是:求出1到m之内(含m)能被7或11整初的所有整数放在数组b中,通过n返回这些数的个数。

例如,若传送给m的值为20,则程序输出7 11 14。

请勿改动主函数main与其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

6、编写函数fun,函数的功能是:从字符串中删除指定的字符。

同一字母的大、小写按不同字符处理。

若程序执行时,输入字符串为:turbo c and Borland c++
从键盘上输入字符:n,则输出后变为:turbo c ad borlad c++
如果输入的字符串不存在,则字符串照原样输出。

试题程序。

#include <stdio.h>
#include <conio.h>
/*注:该题的算法是让i控制一个一个字符往后走,在移动过程中如果s[i]不是要删的字符,则将其按顺序放到新串中(新串亦是用s来做,只是用k来控制新串的下标,由于要删除一些元素,因此新串的下标总是比原下标i要慢。

因而可用此法即同一字符串变量的方法。

*/
int fun(char s[],int c)
{int i,k=0;
for(i=0;s[i];i++)
if(s[i]!=c) s[k++]=s[i];
s[k]='\0';
}
main()
{ static char str[]="turbo c and borland c++";
char ch;
clrscr();
printf(" :%s\n",str);
printf(" :");
scanf("%c",&ch);
fun(str,ch);
printf("str[]=%s\n",str);
}。

相关文档
最新文档