江苏省二级c语言考试软件下载,江苏省二级c语言上机考试例题集1-20

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

1、取出一个十进制正整数中的所以奇数数字,用这些数字构成一个最小数。

#include

#include

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、按要求合并两个字符串

#include

#include

#include

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数组中*/


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部