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语言之符号删串应用——字符删除

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语言例题(1)

计算机二级考试C语言例题(1)

第一套给定程序的功能是:求二分之一的圆面积,函数通过形参得到圆的半径,函数返回二分之一的圆面积(注:圆面积公式为:2,在程序中定义的变量名要与公式的变量相同)。

例如,输入圆的半径值:19.527,输出为:s=598.949991。

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

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

试题程序:#include <stdio.h>double fun( double r){return 3.14159*【1】/2.0;}void main(){double x;printf("Enter x: ");scanf("%lf",【2】);printf("s=%lf\n",fun(【3】));}【参考答案】 (1)r*r (2)&x (3)x【考点分析】本题考查:圆面积计算公式*r*r;scanf( )函数的形式,其一般形式为"scanf("格式控制字符串",地址表列);",注意地址是由地址运算符"&"后跟变量名组成的;printf( )函数的形式,其一般形式为"printf("格式控制字符串",输出表列);";函数实参调用,函数作为另一个函数调用的实际参数出现。

【解题思路】填空1:计算圆的面积,公式为:*r。

填空2:scanf( )函数一般形式为scanf(格式控制,地址表列),因此填入&x。

填空3:函数的实际参数是圆的半径x。

下列给定程序中,函数fun的功能是:计算S=f(-n)+f(-n+1)+…+f(0)+f(1)+f(2)+…f(n)的值。

例如,当n为5时,函数值应为10.407143。

f(x)函数定义如下:f(x)=请改正程序中的错误,使它能得出正确的结果。

计算机二级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的花括号中填入所编写的若干语句。

函数fun的功能是

函数fun的功能是

函数fun的功能是 将s所指字符串中除了下标为偶数、同时ASCII值也为偶数的字符外 其余的全都删除 串中剩余字符所形成的一个新串放在t所指的数组中。

例如 若s所指字符串中的内容为“ABCDEFG 123456” 最后 t所指的数组中的内容应是“246”。

void fun(char *s,char t[]) {int k,n=0; for(k=0;k<strlen(s);k++) if(k%2==0 && s[k]%2==0) t[n++]=s[k];t[n]= '\0';} 编写函数fun 它的功能是 利用以下所示的简单迭代方法求方程cos(y)-y=0的一个实根。

Yn+1=cos(yn)迭代步骤如下 1 取y1初值为0.0。

2 y0=y1 把y1的值赋给y0。

3 y1=cos(y0) 求出一个新的y1。

4 若y0-y1的绝对值小于0.000001 则执行步骤 5 否则执行步骤 2 。

5 所求y1就是方程cos(x)-y=0的一个实根 作为函数值返回。

程序将输出结果Result=0.739085。

float fun() {float y1=0.0,y0;do{y0=y1; y1=cos(y0);} while(fabs(y0-y1)>=1e-6);return y1;} 程序定义了N×N的二维数组 并在主函数中自动赋值。

请编写函数fun(int a[][N], int n) 函数的功能是 使N×N 的二维数组左下三角元素中的值乘以n。

例如 若n的值为3 a数组中的值为 1 9 7 2 3 8 4 5 6 则返回主程序后a数组中的值应为 3 9 7 6 9 8 12 15 18 #define N 5 int fun(int a[][N],int n) {int j k;for(j=0;j<N;j++) for(k=0;k<j+1;k++) a[j][k]*=n;} 请编写函数fun 它的功能是 计算n门课程的平均分 计算结果作为函数值返回。

上机考试题参考答案

上机考试题参考答案

上机考试题参考答案1、编一个函数fun(char *s),函数的功能是把字符串中的内容逆置。

例子如:字符串中原有的内容为:abcdefg,则调用该函数后,串中的内容为:gfedcba。

试题程序:#define N 10fun(char *s){ int i=0,t,n=strlen(s);for(;s+i<s+n-1-i;i++){t=*(s+i);*(s+i)=*(s+n-1-i);*(s+n-1-i)=t;}}main(){ char a[N];clrscr();printf("Enter a string:"); gets(a);printf("The original string is:");puts(a);fun(a);printf("\n");printf("The string after modified:");puts(a);}2、写程序,实现矩阵(3行3列)的转置(即行列互换)。

int fun(int array[3][3]){ int i,j,t;for(i=0;i<2;i++)for(j=i+1;j<3;j++){t=array[i][j];array[i][j]=array[j][i];array[j][i]=t;}}main(){ int i,j;clrscr();for(i=0;i<3;i++){for(j=0;j<3;j++)printf("%7d",array[i][j]);printf("\n");}fun(array);printf("Converted array:\n");for(i=0;i<3;i++){for(j=0;j<3;j++)printf("%7d",array[i][j]);printf("\n");}}3、请编一个函数fun(int *a,int n,int *odd,int *even),函数的功能是分别求出数组中所有奇数之和以及所有偶数之和。

C语言函数习题及答案

C语言函数习题及答案

9.请编写函数fun,实现的功能是:求出能整除x且是偶数的各整数, 并按从小到大的顺序依次存放在y所指定的数组中,这些除数的个数 通过函数返回。仅在fun函数体内编写代码即可。图12-1是输入40后 的运行结果图。 #include "stdio.h" int fun(int x,int y[]) {int i,j=0; for(i=2;i<x;i++) if(x%i==0&&i%2==0)y[j++]=i; return j; } main() {int x,a[100],n,i; printf("请输入一个整数:"); scanf("%d",&x); n=fun(x,a); for(i=0;i<n;i++) printf("%4d",a[i]); printf("\n");}
2.编写一个函数fun,实现将一个字符串反序存放。例如:在 主函数中输入字符串“abcdefg”,在调用fun函数后,则应输出 “gfedcba”。 #include <stdio.பைடு நூலகம்>
#include <string.h> #define N 81 char fun(char s[],int n) {int i; char c; for(i=0;i<=(n-1)/2;i++) {c=s[i]; s[i]=s[n-1-i]; s[n-1-i]=c;} } main() { char s [N]; int l; printf("input a string:");gets(s); l=strlen(s); fun(s,l); printf("The new string is :");puts(s); }
  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);
}。

相关文档
最新文档