2024年C语言等级考试 02 编程题

发布 2024-01-02 09:20:16 阅读 8272

1.从指定的自然数n0开始,按以下公式生成一个数列,直到ni+1为1,计算数列的长度(数列中数的个数)。

i=0,1,2,…

例如:当n0=7时生成的数列为:7,22,11,34,17,52,26,13,40,20,10,5,16,8,4,2,1。该数列的长度为17

要求:1) 编写函数 int linkrun(int a , int b , int *p),以[a,b]中所有自然数作为n0可以生成b-a+1个满足上述特性的数列,求出这些数列的长度并依次保存到p指向的数组中,函数返回p数组中的最大值。

2) 在main()中,声明变量a,b和p作为实参调用linkrun函数,输出各数列的长度和最大值。

#include<>

#define m 50

int linkrun(int a,int b,int *p);

int main()

int x[m],i,a,b,max;

scanf("%d%d",&a,&b);

max=linkrun(a,b,x);

for(i=0;i printf("%d ",x[i]);

printf("");

printf("max=%d",max);

return 0;

int linkrun(int a,int b,int *p)

int m,k=0,i,j,n0;

for(j=a;j<=b;j++)

p[k++]i;

m=p[0];

for(j=1;j if(p[j]>m)

m=p[j];

return m;

2.按要求合并两个字符串。

1)编写函数void inv(char b)其功能是先将b指向的字符串逆序存放,而void merage(char a,char b,char c)按a[0],b[0],a[1],b[1],…的顺序合并a字符串和b字符串到c指向的数组中,将a或b中剩余的字符拼接在c数组的尾部。

2)在main()函数中,声明三个一维数组s1、s2和s,接收键盘输入的两个字符串并保存到数组s1和s2中,调用inv函数对s2字符串做逆序变换,再调用merage函数合并s1字符串和s2字符串到s数组中,将合并后的数组s中的字符在屏幕上输出。

#include<>

#include<>

#define m 30

#define n 20

void inv(char x)

void merage(char a,char b,char c)

int main()

char s1[m],s2[n],s[m+n];

gets(s1);

gets(s2);

inv(s2);

merage(s1,s2,s);

puts(s);

return 0;

void inv(char b)

char ch;

int lb=strlen(x),i;

for(i=0;i

void merage(char a,char b,char c)

int i=0,j=0,k=0,la,lb;

la=strlen(a);

lb=strlen(b);

while(i

while(i c[k++]a[i++]

while(j c[k++]b[j++]

c[k]='0';

2019C语言精编100题

高。职。升。本。计算机c语言精编100题。精通学院。c语言精编100题。一 单选题。1.1 由c语言编写的 程序 a.可直接执行b.是一个源程序。c.经过编译即可执行d.经过编译解释才能执行。2 c语言源程序的扩展名为 a.objb.cc exed.cpp 2.1 按照c语言规定的用户标识符命名规则...

2019C语言考试A卷

广州大学 09 10 学年第 1 学期考试卷。物理与电子工程学院物理 电子 光电子专业班级学号姓名 一 选择题 每题2分,共48分 1 以下选项中合法的用户标识符是 b a long b 2test c 3dmax d 2 下面四个选项中,不能看作一条语句的是 d a b a 5,b 2.5,c 3...

2024年C语言

基本要求 1 采用c语言。2 采用结构化算法,设计要给出解题的算法思路,有设计流程图且正确者适。当加分。3 尽量采用函数进行功能设计,程序要有足够的注释,变量定义及函数功能说明必须齐全,尽可能优化。4 若有多种算法解决问题,要考虑算法设计的时间和空间度量,尽量采取较。优的的算法和较合适的数据结构进行...