教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 文库大全 > 专业资料 >

二级C语言考前复习资料(机试)(3)

来源:网络收集 时间:2026-07-17
导读: {int i,j=0; */ j的值增1*/ */ } 【解题思路】0j作为下标的初值设为0,存到数组后j增1,即现 ,7和11整除的数,在这里充分理解逻辑与和; 注意:(i%7==0||i%11==0)两边必须要有小括号 题型二:一维数组最值求解 2、fun

{int i,j=0;

*/

j的值增1*/ */ }

【解题思路】0j作为下标的初值设为0,存到数组后j增1,即现

,7和11整除的数,在这里充分理解"逻辑与"和"; 注意:(i%7==0||i%11==0)两边必须要有小括号 题型二:一维数组最值求解

2、fun,其功能是求出数组的最大元素在数组中的下标并存放在k

, 输入如下整数: 876 675 896 101 301 401 980 431 451 777,则输: 6, 980 void fun(int *s, int t, int *k) { }

main( ) {

int a[10]={876,675,896,101,301,401,980,431,451,777}, k ;void fun(a, 10, &k) ;

printf("%d, %d\n", k, a[k]) ; }

【参考答案】

void fun(int *s,int t,int *k)

{

int i,n;

n=0; /* for(i=1;i<t;i++) /* *k=n; /*s[n]}

【解题思路】(1(2值,依次类推

题型三:一维数组排序

3、函数fun的功能是:排序。

#include <stdio.h> #define N 20

{ }

void main()

printf(" printf("\n"); fun(a,m);

printf(" printf("\n"); }

【参考答案】 ,即从,依此类推,即用第二个元C语言排序题类似,也是

对长度为7个字符的字符串,除

Badhisd。

}

【参考答案】

int fun(char *s, int num) { char t; int i, j;

if(s[i]>s[j])

/*如果后面字符的ASCII { t=s[i];/* s[i]=s[j]; s[j]=t; } }

【解题思路】组的下标值要从1开始,s[i]和s[j]进行比较,值, 题型四:元素平移问题

4、请编写函数fun, 个整数, 要求把下标从0到p(后。

例如, 动后, 一维数组中的内容应为#include <stdio.h> #define N 80

{ } t中*/

*/ */ 2个字符开始以后的每个字符当要平移p

个数。

例如:若一维数组中的数据是:2 2 2 3 4 4 5 6 6 6 6 7 7 8 9 9 10 10 10,删除后,数组中的内容应是:22 3 4 5 6 7 8 9 10 # include <stdio.h> # define N 80

int fun(int a[], int n) { }

main() {

int a[N]={2,2,2,3,4,4,5,6,6,6,6,7,7,8,9,9,10,10,10,10}, i,n=20; printf("The original data :\n"); for(i=0; i<n; i++)

printf("%3d",a[i]); n=fun(a,n);

printf("\nThe data after deleted :\n"); for(i=0;i<n;i++)

printf("%3d",a[i]); }

【参考答案】

int fun(int a[], int n) {

int i,t,j=0,*p=a; t=p[0];

for(i=0;i<=n;i++) if(t==p[i]) ; else {

a[j]=t; t=p[i]; j++; } if(i>=n) a[j]=t; return j; }

【解题思路】

t中,然后他后面的数顺序与他比较,如果j来表示,只要出现不j才t换成这个和他不相等的新数。

题型六:数组元素的查找

6、fun,函数的功能是查找x在s所指数组中下标的位置作为函x不存在,则返回-1。 int fun( int *s, int x) { }

main()

{ int a[N]={ 29,13,5,22,10,9,3,18,24,25,14,15,2,7,27},i,x,index; printf("a数组中的数据 :\n");

for(i=0;i<N;i++) printf("%4d",a[i]); printf("\n"); printf("给x输入待查找的数:"); scanf("%d",&x); index=fun(a, x);

printf("index=%d\n",index); }

【参考答案】

int fun( int *s, int x) {

int i;

for(i = 0; i < N; i++) if(s[i] == x) return i; if(i == N) return -1; }

【解题思路】查找数组元素值为x的下标,只需要把数组的每个元素a[i](i从0到N-1)与x比较,如果相等则返回i的值,否则返回-1。 注意:改错中还有一个二分查找法需要掌握。

分类三:二维数组操作

题型一:二维数组周边元素

1、下列程序定义了的二维数组,并在主函数中赋值。请编写函数功能是:sa 数组中的值为: 0 1 2 7 9 1 9 7 4 5 2 3 8 3 1 4 5 6 8 2 5 9 1 4 1

则返回主程序后s的值应为#include<stdio.h> #include<conio.h> #include<stdlib.h> #define N 5

double fun (int w[][N])

{ }

void main()

int i, j; double s;

}

【参考答案】

int i,j,k=0; double av=0.0; for(i=0;i<N;i++) for(j=0;j<N;j++)

if(i==0||i==N-1||j==0||j==N-1)

/*只要下标中有一个为0或N-1,则它一定是周边元素*/ { av=av+w[i][j]; /*将周边元素求和*/ k++; /*周边元素个数k增1 */ }

return av/k; /*返回周边元素的平均值*/ }

…… 此处隐藏:655字,全部文档内容请下载后查看。喜欢就下载吧 ……
二级C语言考前复习资料(机试)(3).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wenku/268527.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)