资源描述:
《[理学]综合训练编程题》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、1.请编写一个函数fun,其功能是:删除字符串中的数字字符。例如,输入字符串为:48CTYP9R6,则输出:CTYPR。部分源程序已经给出,请勿改动主函数的内容。#include“stdio.h”#include“string.h”voidfun(charitem[]);voidmain(){charitem[100];gtes(item);fun(item);printf(“Thestring:%s”,item);}voidfun(charitem[])/*删除字符串中的数字字符*/{charitem1[100];inti=0,j=0;
2、while(item[i]!=’’){if(item[i]>=’0’&&item[i]<=’9’)i++;elseitem1[j++]=item[i++];}item1[j]=’’;strcpy(item,item1);}2.从键盘上读入一字符串存入字符数组xx中,请编制函数encryptChar(),按给定的替代关系对数组xx中的所有字符进行替代,仍存入数组xx的对应位置上,最后调用函数WriteDat()将结果xx输出。替代关系如下: f(p)=p*11%256其中,p是数组xx中某一个字符的ASCII值,f(p)是计算
3、后新字符的ASCII值),如果原字符的ASCII值是偶数或计算后f(p)值小于32,则该字符不变,否则用f(p)所对应的字符进行替代。设字符串的长度小于80个字符,部分源程序已给出。除增加必要的数据定义、函数参数外,请勿改动主函数的内容。#includevoidmain(){charxx[80];gets(xx);encryptChar();WriteDat();}3.设有数组:inta[10]={6012,5099,9012,7025,8088,9096,8080,3046,5082,2345};请编制函数jssort()
4、,其功能是:要求按每个数的后三位的大小进行升序排序,然后调用函数WriteDat()将结果输出。部分源程序已给出。除增加必要的数据定义、函数参数外,请勿改动主函数的内容。#includevoidmain(){inta[10]={6012,5099,9012,7025,8088,9096,8080,3046,5082,2345}; jssort( );WriteDat( );}4. 编写一函数jsValue(intm,intk,intxx[]),该函数的功能是:将大于整数m且紧靠m的k个素数存入数组xx并返回。然后调用函数Wr
5、iteDat()将结果输出。部分源程序已给出。除增加必要的数据定义、函数参数外,请勿改动主函数的内容。#includevoidmain(){intm,n,zz[100];scanf(“%d%d”,&m,&n);jsValue(m,n,zz);WriteDat()}5.编写一函数jsValue(intbb[]),该函数的功能是:在三位数(100至999)中寻找符合条件的整数并依次从小到大存入数组b中,条件为:它既是完全平方数,又有两位数字相同,例如144、676是满足条件的数。最后调用函数WriteDat()将结果输出。部分源
6、程序已给出。除增加必要的数据定义、函数参数外,请勿改动主函数的内容。#includevoidmain(){intb[20],num;num=jsValue(b);WriteDat(num,b)}6.编写一函数jsValue(),该函数的功能是:将一正整数序列k1,k2,…,k9重新排列成一个新的序列。新序列中,比k1小的数据都在k1的前面(左边),比k1大的数据都在k1的后面(右边)。最后调用函数WriteDat()将结果输出。部分源程序已给出。除增加必要的数据定义、函数参数外,请勿改动主函数的内容。#include7、io.h>voidmain(){inta[9]={6,8,9,1,2,5,4,7,3};jsValue(a);WriteDat(a)}7.设某级数的前两项:a1=1,a2=1,以后各项具有如下关系:an=an-2+2an-1编写一函数jsValue(),该函数的功能是:对M=10000,求出对应的n值,使其满足:sn=M,这里Sn=a1+a2+…+an。最后调用函数WriteDat()将结果输出。部分源程序已给出。除增加必要的数据定义、函数参数外,请勿改动主函数的内容。#includevoidmain(){j
8、sValue( );WriteDat( )}8.请编写一函数countvalue(),该函数的功能是:找出所有100以内满足i,i+4,i+10都是素数的整数i(i