江苏省二级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数组中*/

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值