ImageVerifierCode 换一换
格式:DOCX , 页数:19 ,大小:23.12KB ,
资源ID:6166723      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/6166723.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(C语言程序设计基础上机考试一题目及参考答案.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

C语言程序设计基础上机考试一题目及参考答案.docx

1、C语言程序设计基础上机考试一题目及参考答案1输入一串字符(可能包含空格),计算输入的字符串中整数的个数并输出。2输入一个字符串,对字符串相同的字符只保留一个(首次出现的字符)。3找出一个大于给定整数m且紧随m的素数。4统计老年人各年龄段(每10岁为一个年龄段)的人数并存到b数组中,n个人员的年龄放在a数组中。5计算并输出k以内最大的10个能被13或17整除的自然数之和。6读入一行英文文本, 将其中每个单词的最后一个字母改成大写,然后输出此文本行(这里的“单词”是指由空格隔开的字符串)。7求A、B两个整数数组数据的交集,并输出交集的数据。8输入若干个整数,且每个数均在1000至9999之间,按照

2、每个数的后三位进行升序排序,若后三位相等,则按照原数据升序排序。9将字符串s所有的子串t用“copy”替换,并输出替换后的字符串。10判断一个整数是否是回文数。所谓的回文数是指高位到地位与从低位到高位读取该数,得到的数是相同的数据。例如:1221,121是回文数。1. 输入一串可能包含空格的字符串,计算该字符串中数字(整数)的个数。2. 删除字符串中的数字字符3. 计算并输出high以内最大的10个素数之和。4. A,B是两个整数集合,将A中和B相同的数据删除,并输出删除后的集合。5. 计算字符串s中含有字符串t的数目, 并输出。6. 编程实现:在已排好序的字符串中插入一个新的字符串,使插入后

3、仍然有序,输出插入后的字符串。7. 在三位整数中寻找符合条件的整数,并依次有大到小存入数组,并输出,它既是完全平方数,又是两位数字相同。8. 判断一个整数是否是回文数。所谓的回文数是指高位到地位与从低位到高位读取该数,得到的数是相同的数据。例如:1221,121是回文数。9. 找出200以内所有的完数,并输出其因子。一个数若恰好等于它的各因子之和,称其为完数。例如:6=1+2+3,其中1、2、3为因子,6是因子和。10. 统计在字符串str中26个小写英文字母各自出现的次数。C程序设计基础上机考试一基本要求:1)所有程序不能使用外部变量2)子函数中不能出现数据的输入输出语句3)每个程序至少包含

4、两个函数定义(包括主函数)1输入一串字符(可能包含空格),计算输入的字符串中整数的个数并输出。#include stdio.h#include string.hvoid main() char a100;int count; int test1(char a); printf(输入字符串:n); gets(a); count=test1(a); printf(整数个数为:%dn,count);int test1(char a) int i,j,n=0; for (i=0;ai!=0;i+) if (ai=0&ai=0&aj=9) break; n+; i=j; return(n);2输入一个字

5、符串,对字符串相同的字符只保留一个(首次出现的字符)。#includestdio.h#define N 100void test2(char ss1N)int i,j,k;for(i=0;ss1i!=0;i+)for(j=i+1;ss1j!=0;j+)if(ss1j=ss1i)void test2(char ss1N)int i,j,k,n;n=strlen(ss1);for(i=0;in;i+)for(j=i+1;jn;j+)if(ss1j=ss1i) for(k=j;k1) if(m%i !=0) i-; else break; if (i=1) t=1; /*说明m已除遍m-1至2,都除

6、不尽,所以m是素数)*/return(m);4统计老年人各年龄段(每10岁为一个年龄段)的人数并存到b数组中,n个人员的年龄放在a数组中。#include stdio.h# define N 10# define M 10void test4(int aN,int bM)int i,k;for(i=0;i60and 160);for(i=0;iN;i+)scanf(%d,&ai);if (ai160) printf(input error);i-;test4(a,b);printf(n);for(i=0;iM;i+)printf(%d=age%d:%dn ,(i+6)*10,(i+6+1)*1

7、0,bi);5计算并输出k以内最大的10个能被13或17整除的自然数之和。#includestdio.hint test5(int k) int count=0,sum=0; while(count=a &ai=z&(ai+1= |ai+1=0) ai=ai-32;void main()char aM;printf(please input the textn);gets(a);test6(a);printf(%s,a);7求A、B两个整数数组数据的交集,并输出交集的数据。/*交集就是二个数组中相同的元素。算法是数组A每取一个元素,与数组B的所有元素相比,若相等,则将该元素存入第三个数组*/#

8、include stdio.hvoid main() int a100,b100,c100; int text(int a,int b,int c,int n1,int n2);/*函数声明*/ int n1,n2,n3,i; printf(输入A组的个数:); scanf(%d,&n1); printf(输入A组的元素:); for (i=0;in1;i+) scanf(%d,&ai); printf(输入B组的个数:); scanf(%d,&n2); printf(输入B组的元素:); for (i=0;in2;i+) scanf(%d,&bi); n3=text(a,b,c,n1,n2)

9、; /*调用函数*/ printf(交集:); for (i=0;in3;i+) printf(%d ,ci); putchar(n);int text(int a,int b,int c,int n1,int n2) int i,j,n=0; for (i=0;in1;i+) for (j=0;jn2;j+) if (ai=bj) cn+=ai; return(n);8输入若干个整数,且每个数均在1000至9999之间,按照每个数的后三位进行升序排序,若后三位相等,则按照原数据升序排序。#include stdio.hvoid main() int a80,i,j,k,n; void sor

10、t(int a,int n); printf(请输入数字的个数n); scanf(%d,&n); for(i=0;in;i+) scanf(%d,&ai); test8(a,n); for (i=0;in;i+) printf(%d ,ai);void test8(int a,int n) int i,j,t; for (i=0;in-1;i+) for (j=i+1;jaj%1000) t=ai;ai=aj;aj=t; else if (ai%1000=aj%1000) if (aiaj) t=ai;ai=aj;aj=t;9将字符串s所有的子串t用“copy”替换,并输出替换后的字符串。#i

11、nclude #include #define M 100#define N 50int SubString(char sub,char S, int pos, int len ) int i; if(posstrlen(S)| lenstrlen(S)-pos+1) return -1; for(i=0;i0) n=strlen(S); m=strlen(T); i=pos; while(i=n-m+1) SubString (sub, S, i, m); if (strcmp(sub,T)!=0)+i ; else return i ; return 0; char *test9(char

12、 s1, char s2, char t)int i,pos; char tempM;int m,n;char sM=;m=strlen(s1);n=strlen(s2);i=1;pos=1;while ( pos0) t=t*10+c%10; c=c/10; if(t=x)return 1; else return 0;void main()int a,b=0;printf(please input a long intn);scanf(%d,&a);b=test1(a);if (b=1) printf(%8d is huiwenshu,a);else printf(%8d is not a

13、 huiwenshu,a);C程序设计基础上机考试二基本要求:1)所有程序不准使用外部变量2)子函数中不能出现数据的输入输出语句3)每个程序至少包含两个函数模块1 输入一串可能包含空格的字符串,计算该字符串中数字(整数)的个数。#include stdio.h#include string.hvoid main() char a100;int count; int test1(char a); printf(输入字符串:n); gets(a); count=test1(a); printf(整数个数为:%dn,count);int test1(char a) int i,j,n=0; for

14、(i=0;ai!=0;i+) if (ai=0&ai=0&aj=9) break; n+; i=j; return(n);2 删除字符串中的数字字符/*算法:对字符串中的每个元素进行判断是否为数字,若是,则将下一个字符移到该字符处,字符串长度-1,*/#includestdio.h#includestring.h void fun(ch)char ch30;int i,j,len=0;len=strlen(ch);printf(%dn,len); for(i=0;i0 & chi9) for(j=i;jlen-1;j+) chj=chj+1; len-; i=i-1; chlen=0; voi

15、d main() char ch30; int i; printf(输入字符串:); gets(ch); fun(ch); printf(删除后的数据:n); printf(%s,ch);getch();3计算并输出high以内最大的10个素数之和。#include #include #include int fun( int h ) int sum = 0, n=0, j, yes; while (h = 2 & n 10) yes = 1; for (j=2;j=h/2;j+ ) if (h%j=0) yes=0; continue; if (yes) sum +=h; n+; h-; r

16、eturn (sum );main ( ) int high; printf(input high,high) ; scanf(%d,&high) ; printf(%dn, fun (high);getch();4已知A,B是两个整数集合,将A中和B相同的数据删除,并输出删除后的集合。#include stdio.hvoid main() int a100,b100,c100; int text (int a,int b,int c,int n1,int n2); int n1,n2,n3,i; printf(输入A组的个数:); scanf(%d,&n1); printf(输入A组的元素:

17、); for (i=0;in1;i+) scanf(%d,&ai); printf(输入B组的个数:); scanf(%d,&n2); printf(输入B组的元素:); for (i=0;in2;i+) scanf(%d,&bi); n3=text (a,b,c,n1,n2); printf(交集:); for (i=0;in3;i+) printf(%d ,ci); putchar(n);int text (int a,int b,int c,int n1,int n2) int i,j,n=0; for (i=0;in1;i+) for (j=0;jn2;j+) if (ai=bj) b

18、reak; cn+=ai; return(n);5计算字符串s中含有字符串t的数目, 并输出。#include stdio.hint count(char str,char substr) int I,j,k,num=0; for(I=0; strI!=0;I+) for(j=I ,k=0;substrk=strj;k+,j+) if(substrk+1=0 *说明主串字符与子串相同* num+;break; return(num); void main() char s80,t80; int n; gets(s); gets(t); printf(%dn,count(s,t);getch()

19、;6编程实现:在已排好序的字符串中插入一个新的字符串,使插入后仍然有序,输出插入后的字符串。程序1: sort(string2 ) char string280; char t; int i, j, n; n = strlen ( string2); for ( i=0; in-1; i+ ) /* 冒泡法排序 */ for ( j=0; j string2j+1 ) t = string2j; string2j = string2j+1; string2j+1 = t; main ( ) char str180, str280, str80; int i, j, n; printf (Enter string1:); gets ( str1 ); printf (Enter string2:); gets ( str2);sort(str2); n = 0; for ( i=0,j=0; str1i!=0 & str2j!=0; ) if ( str1i str2j ) strn+ = str1i+; else strn+ = str2j+; while ( str1i!=0 ) strn+ = str1i+; while ( str2j!=0 )

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1