(1) 编写一个函数,能返回一个数组,其中包含随机生成的10个两位数(区间在[10,99])。(2) 对由上述函

2025-01-04 06:47:02
推荐回答(2个)
回答1:

//这东西很简单,根本谈不上什么思路,直接看代码里的注释

#include
#include
#include

//产生 [a,b] 区间的随机数
#define RANDOM(a,b) (rand()%((b+1)-(a)) + (a))
#define NUMBER 10

//产生num个[10,99]区间的随机数写入buffer
void gen_random_array(int* buffer, int num)
{
int i;

for( i=0; i buffer[i] = RANDOM(10, 99);
}

//交换由src输入的两位整数的个位与十位,并写入dst
void swap_byte(int* src, int num, int* dst)
{
int i;
for( i=0; i dst[i] = (src[i]%10)*10 + (int)src[i]/10;
}

int main()
{
//声明变量i,及2个输出数组, a1为随机数,a2为a1交换个十位后的结果
int i, a1[NUMBER], a2[NUMBER];

srand( (unsigned)time(NULL) ); //用当前时间初始化随机数种子

gen_random_array(a1, NUMBER);
swap_byte(a1, NUMBER, a2);

//输出结果(10个随机数)
for( i=0; i printf( "%d ", a1[i] );
printf( "\n" );

//输出结果(随机数交换个位与十位后的结果)
for( i=0; i printf( "%d ", a2[i] );
printf( "\n" );

return 0;
}

回答2:

1.分解需求;
2.定制函数,包括 生成数组方法、生成随机数方法、数字交换方法、处理数组方法;
3.确定各个方法的定制性,如数组方法可定制长度,生成随机数方法可定制区间、处理数组方法可定制处理函数;
4.编码,测试,优化....