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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

江苏省二级c语言上机考试例题集120.docx

1、江苏省二级c语言上机考试例题集1201、取出一个十进制正整数中的所以奇数数字,用这些数字构成一个最小数。#include#includevoid sort(int a, int n) int i, j, t; for (i = 0;i n - 1;i+) for (j = 0;j aj + 1) t = aj;aj = aj + 1;aj + 1 = t; long arrange(long s) /*arrange函数的功能是取出十进制整数s中的所有奇数数字,用这些数字构成一个最小数,函数返回该数*/ int d, b10, i, j = 0; long s1 = 0; while (s 0

2、) /*利用循环对s数位分离,分离出个位、十位 、百位等各位上的数*/ d = s % 10; if (d % 2 != 0) /*判断每一位上的数字是否为奇数*/ bj+ = d; /*若为奇数则存放到b数组中*/ s /= 10; sort(b, j); /*调用sort函数,将数组b从小到大排列*/ for (i = 0;i j;i+) s1 = s1 * 10 + bi; /*求得用各位上的奇数组成的最小数 */ return s1; /*返回求得的数*/void main() long m, n; FILE *fp; /*定义文件指针fp*/ if (fp = fopen(myf2.

3、out, w) = NULL) /*涉及文件的打开*/ printf(The file can not open!);exit(0); scanf(%ld, &n); /*接收键盘输入的整型数据*/ m = arrange(n); /*键盘输入的数据作为实参调用arrange 函数*/ printf(%ldn, m); /*将得到的最小数输出到屏幕及结果文件中*/ fprintf(fp, %ldn, m); printf(nMy exam number is:WLJY001n); /*将考生准考证号输出到屏幕及结果文 件中 */ fprintf(fp, nMy exam number is:W

4、LJY001n); fclose(fp); /*关闭文件*/ 2、按要求合并两个字符串#include#include#includevoid fun(char *a, char *b, char *c) /*函数功能是先将b指向的字符串逆序存放,然后按a0 ,b0, a1, b1的顺序合并a字符串和b字符串到c指向的数组中,将a 或b中剩余的字符拼接在c数组的尾部*/int i, j; char ch; i = 0;j = strlen(b) - 1; while (i j) /*利用while循环将数组b中的字符逆序存放*/ ch = bi;bi = bj;bj = ch; i+;j-;

5、while (*a | *b) /*利用while循环,通过判断*a | *b,将a、b数组间隔存放在c数组中*/ if (*a)*c = *a;c+;a+; if (*b)*c = *b;c+;b+; *c = 0;void main() FILE *fp; /*定义文件指针fp*/ char s180, s280, s200; /*声明3个一维数组*/ if (fp = fopen(myf2.out, w) = NULL) printf(cant open file);exit(0); printf(nEnter s1 string:); gets(s1); printf(nEnter s

6、2 string:); gets(s2); /*s1、s2 接收键盘输入的字符*/ fun(s1, s2, s); /*调用change函数,对字符串s2进行逆序变换,再合并s1字符串和s2字符串并保存到s数组中*/ printf(nThe result is:%sn, s); /*将合并后产生的数组s中的字符串输出到屏幕及结果文件中*/ fprintf(fp, %s, s); fprintf(fp, n); printf(nMy exam number is:WLJY001n); /*将考生准考证号输出到屏幕及结果文件中*/ fprintf(fp, nMy exam number is:WL

7、JY001n); fclose(fp); /*关闭文件*/ 3、先判断一个mn矩阵为Monge矩阵,在对该矩阵进行交换处理#include#include#define N 5void change(int aN, int n) /*该函数的功能是,对a指向的n行5列数组中的矩阵进行变换*/int i, j, t; for (i = 0;i n / 2;i+) /*通过两重for循环对数组各行的位置进行交换*/ for (j = 0;j N;j+) t = aij;aij = an - 1 - ij;an - 1 - ij = t; /*变换形式:第一行与最后一行交换,第二行与倒数第二行交换*

8、/int Monge(int aN, int n) int i, j; for (i = 0;i n - 2;i+) /*利用for循环和if语句对数组元素进行矩阵判断,判断是否为Monge矩阵*/ for (j = 0;j aij + 1 + ai + 1j) return 0; /*若矩阵不是Monge矩阵,函数返回0*/ return 1; /*若矩阵是Monge矩阵,函数返回1*/void main() int aN = 10, 17, 13, 28, 23, 17, 22, 16, 29, 23, 24, 28, 22, 34, 24, 11, 13, 6, 17, 7, 45, 4

9、4, 32, 37, 23; /*数组初始化*/ int monge, i, j;FILE *fp; fp = fopen(myf2.out, w); /*以只写w方式打开文件*/ if (fp = NULL)exit(0); monge = Monge(a, 5); /*调用Monge函数对a数组进行判断*/ for (i = 0;i N;i+) /*将a数组变换前中的元素输出到屏幕及结果文件中*/ for (j = 0;j N;j+) printf(%4d, aij);fprintf(fp, %4d, aij); printf(n);fprintf(fp, n); if (monge) p

10、rintf(a is Mongen);fprintf(fp, a is Mongen); /*将a数组变换前的判断结果输出到屏幕及结果文件中*/ else printf(a is not Mongen);fprintf(fp, a is not Mongen); change(a, 5); /*调用change函数对a数组进行变换处理*/ for (i = 0;i N;i+) for (j = 0;j N;j+) printf(%4d, aij);fprintf(fp, %4d, aij); printf(n);fprintf(fp, n); /*将a数组变换后的元素输出到屏幕及结果文件中*/

11、 monge = Monge(a, 5); /*调用Monge函数对经过变换的a数组进行判断*/ if (monge) /*将a数组变换后的判断结果输出到屏幕及结果文件中*/ printf(a is Mongen); fprintf(fp, a is Mongen); else printf(a is not Mongen);fprintf(fp, a is not Mongen); printf(nMy exam number is:WLJY001n); /*将考生准考证号输出到屏幕及结果文件中*/ fprintf(fp, nMy exam number is:WLJY001n); fclo

12、se(fp); /*关闭文件*/ 4、用一组整数验证命题#include#include#define N 100int fun (int a, int b, int n) int i, j, x, y, z, s, t, m, k = 0; for (i = 0;i n;i+) /*按题目要求的步骤进行交换,直到得到所要求的结果停止循环*/ if (ai / 1000 ai ? (s - ai) : (ai - s); /*求ai和s的绝对值得到t*/ x = t / 100;y = t / 10 % 10;z = t % 10; m = z * 100 + y * 10 + x; /*交换

13、 t的百位数字与个位数字得到m*/ if (t + m = 1089) /*判断t与m的和是否为1089*/ bk+ = i; return k; /*函数返回数组b中数据的个数*/void main() int aN = 123, 765, 1, 45, 121, 1345, 131, 67, 696, 3589, bN, n, i; FILE *fp; /*定义文件指针*/ if (fp = fopen(myf2.out, w) = NULL) /* 以只写w方式打开文件 */ printf(The file call not open!);exit(0); n = dotest (a,

14、b, 10); /*用a数组作为实参调用fun函数*/ for (i = 0;i n;i+) printf(%5d, abi);fprintf(fp, %5d, abi); /*将a数组中所有符合命题的整数输出到屏幕及结果文件中*/ /*将考生准考证号输出到屏幕及结果文件中*/ printf(nMy exam number is:WLJY001n); fprintf(fp, nMy exam number is:WLJY001n); fclose(fp); /*关闭文件 */ 5、找出7个默森尼数#include#include#define N 7void Mersenne(long a,

15、int m);int prime(long);void main() long aN; int i; FILE *fp; /*定义文件指针*/ fp = fopen(myf2.out, w); /*以只写w方式打开文件*/ if (fp = NULL)exit(0); Mersenne(a, N); /*调用Mersenne 函数,找出并保存前7个Mersenne 数*/ for (i = 0;i N;i+) printf(%8ld, ai);fprintf(fp, %8ld, ai); /* 将运行结果输出到屏幕及结果文件中*/ printf(nMy exam number is:WLJY0

16、01n); /*将考生准考证号输出到屏幕及结果文件中*/ fprintf(fp, nMy exam number is:WLJY001n);void Mersenne(long a, int m) /*该函数的功能是,求出前m个Mersenne数*/long f, n, k; int i = 0; ai+ = 3; for (n = 3;i m;n += 2) f = 1; for (k = 1;k = n;k+) f *= 2; /*求2的n次方*/ if (prime(n) & prime(f - 1) /*当n和2的n次方减1均为素数时,该数为Mersenne 数*/ ai+ = f -

17、 1; /*将找到的Mersenne 数保存到数组a中*/ int prime(long n) /*该函数的功能是,判断整数a是否是素数*/long i; for (i = 2;i = n / 2;i+) if (n % i = 0) return 0; return 1; /*若是素数函数返回值1*/ 6、从一个指定的自然数#include#includeint linkrun(int a, int b, int *p);void main() int i, a, b, max, p100; FILE *fp; if (fp = fopen(myf2.out, w) = NULL) /*以只

18、写w方式打开文件*/ printf(The file call not open!);exit(0); printf(Enter a,b:(ab); scanf(%d,%d, &a, &b); /*接收从键盘输入的a和b*/ max = linkrun(a, b, p); /*以a、b、p作为实参调用函数*/ for (i = 0;i = b - a;i+) printf(%3d, pi); fprintf(fp, %3d, pi); printf(nmax=%d, max); fprintf(fp, nmax=%d, max); /*将运行结果输出到屏幕及结果文件中*/ printf(nMy

19、 exam number is:WLJY001n); /*将考生准考证号输出到屏幕及结果文件中*/ fprintf(fp, nMy exam number is:WLJY001n); fclose(fp); /*关闭文件*/int linkrun(int a, int b, int *p) int i, k, m, n, num; num = 0; for (i = 0, k = a;k num)num = pi; /*求出数组中最大值*/ return num; /*返回最大值*/ 7、将一个十进制整数m转换成r进制整数的字符串表示形式#include#includevoid trdec(c

20、har *str, int idec, int ibase) /*该函数的功能是,将十进制整数idec转换为ibase进制的字符串表示形式*/char ch; int i, idr, k = 0; while (idec != 0) idr = idec % ibase; /*idec对ibase求余*/ if (idr = 10) /*判断余数,根据余数的值对其进行变换*/ strk+ = idr - 10 + A; else strk+ = idr + 0; idec /= ibase; for (i = 0;i k / 2;i+) /*转换成ibase进制数的字符串形式后,将字符串保存到

21、str指向的字符数组 */ ch = stri; stri = strk - i - 1; strk - i - 1 = ch; strk = 0;void main() int x;char str20;FILE *fp; /*变量声明,定义文件指针fp */ if (fp = fopen(myf2.out, w) = NULL) printf(The file can not open!);exit(0); printf(Enter a number); scanf(%d, &x); /*接收从键盘输入的x*/ trdec(str, x, 2); /*调用函数将该整数转换为二进制并输出到屏

22、幕及结果文件中*/ printf(%sB, str);fprintf(fp, %sB, str); trdec(str, x, 8); /*调用函数将该整数转换为八进制并输出到屏幕及结果文件中*/ printf(%sQ, str);fprintf(fp, %sQ, str); trdec(str, x, 16); /*调用函数将该整数转换为十六进制并输出到屏幕及结果文件中*/ printf(%sHn, str);fprintf(fp, %sHn, str); printf(nMy exam number is:WLJY001n); /*将考生准考证号输出到屏幕及结果文件中*/ fprintf(

23、fp, nMy exam number is:WLJY001n); fclose(fp); /*关闭文件*/ 8、将以为数组中的所有素数移到该数组的前端部分#include#includeint N;void insert(int *p, int x, int n) int i = 0, j; while (x pi & i i;j-) pj = pj - 1; pj = x; /* 此语句的作用是将x插入到元素pj的位置 */int *create() int *head, *p, i; printf(n N=); scanf(%d, &N); head = (int *)malloc(N

24、* sizeof(int); /* 分配内存空间函数malloc的调用形式错误,正确的为:(类型说明符*)malloc(size) */ printf(Enter numbers:); p = head; for (i = 0;i N;i+) scanf(%d, &pi); /* 接收从键盘输入的数值要用取址运算符 */ for (i = 1;i N;i+) insert(p, pi, i); return head;void main() int *head, *p, i, x; head = create(); p = head; for (i = 0;i N;i+) printf(%3d

25、, *p+); free(head); 9、用以下展开式求#include#include#include /* 后续程序调用了字符函数isalpha,所以要加#include */void replace_word(char s) char word_tab410 = sad, happy, accuse, forgive; char t10, tmp80; /* 由后面的tk=sj知,此处定义的t不是一个字符变量,而是一个字符型数组*/ int i, j, k, n; for (i = 0;si;i+) for (j = i, k = 0;isalpha(sj);k+, j+) tk = sj; tk = 0; if (k 0) for (n = 0;n 4;n+) if (strcmp(t, word_tabn) = 0)break; if (n 4) strcpy(tmp, s + i + strlen(t); strcpy(s + i, word_tab(n + 1) % 4); strcat(s, tmp); /* strcpy(str1,str2)是把字符串str2复制到str1中,会覆盖str1中的内容 ,此处应用strcat函数 */ i = i + strlen(word_tab(n + 1) % 4);

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

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