江苏省二级c语言上机考试例题集1-20.doc

  1. 1、本文档共16页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
1、取出一个十进制正整数中的所以奇数数字,用这些数字构成一个最小数。 #includestdio.h #includestdlib.h void sort(int a[], int n) { int i, j, t; for (i = 0;i n - 1;i++) for (j = 0;j n - 1 - i;j++) /*利用双重循环,将数组按从小到大排列*/ if (a[j] a[j + 1]) {t = a[j];a[j] = a[j + 1];a[j + 1] = t; } } long arrange(long s) /*arrange函数的功能是取出十进制整数s中的所有奇数数字,用这些数字构成一个最小数,函数返回该数*/ { int d, b[10], i, j = 0; long s1 = 0; while (s 0) /*利用循环对s数位分离,分离出个位、十位 、百位等各位上的数*/ { d = s % 10; if (d % 2 != 0) /*判断每一位上的数字是否为奇数*/ b[j++] = d; /*若为奇数则存放到b数组中*/ s /= 10; } sort(b, j); /*调用sort函数,将数组b从小到大排列*/ for (i = 0;i j;i++) s1 = s1 * 10 + b[i]; /*求得用各位上的奇数组成的最小数 */ return s1; /*返回求得的数*/ } void main() { long m, n; FILE *fp; /*定义文件指针fp*/ if ((fp = fopen(myf2.out, w)) == NULL) /*涉及文件的打开*/ {printf(The file can not open!);exit(0);} scanf(%ld, n); /*接收键盘输入的整型数据*/ m = arrange(n); /*键盘输入的数据作为实参调用arrange 函数*/ printf(%ld\n, m); /*将得到的最小数输出到屏幕及结果文件中*/ fprintf(fp, %ld\n, m); printf(\nMy exam number is:WLJY001\n); /*将考生准考证号输出到屏幕及结果文件中*/ fprintf(fp, \nMy exam number is:WLJY001\n); fclose(fp); /*关闭文件*/ } 2、按要求合并两个字符串 #includestdio.h #includestring.h #includestdlib.h void fun(char *a, char *b, char *c) /*函数功能是先将b指向的字符串逆序存放,然后按a[0] ,b[0], a[1], b[1]…的顺序合并a字符串和b字符串到c指向的数组中,将a 或b中剩余的字符拼接在c数组的尾部*/ {int i, j; char ch; i = 0;j = strlen(b) - 1; while (i j) /*利用while循环将数组b中的字符逆序存放*/ {ch = b[i];b[i] = b[j];b[j] = ch; i++;j--; } 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 s1[80], s2[80], s[200]; /*声明3个一维数组*/ if ((fp = fopen(myf2.out, w)) == NULL) {printf(cant open file);exit(0);} printf(\nEnter s1 string:); gets(s1); printf(\nEnter s2 string:); gets(s2); /*s1、s2 接收键盘输入的字符*/ fun(s1, s2, s); /*调用change函数,对字符串s2进行逆序变换,再合并s1字符串和s2字符串并保存到s数组中*/ printf(\nThe result is:%s\n, s); /*将合并后产生的数组s中的字符串输出到屏

文档评论(0)

zzqky + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档