二级c语言上机经典题目

上传人:第*** 文档编号:54450698 上传时间:2018-09-13 格式:PPT 页数:29 大小:112.50KB
返回 下载 相关 举报
二级c语言上机经典题目_第1页
第1页 / 共29页
二级c语言上机经典题目_第2页
第2页 / 共29页
二级c语言上机经典题目_第3页
第3页 / 共29页
二级c语言上机经典题目_第4页
第4页 / 共29页
二级c语言上机经典题目_第5页
第5页 / 共29页
点击查看更多>>
资源描述

《二级c语言上机经典题目》由会员分享,可在线阅读,更多相关《二级c语言上机经典题目(29页珍藏版)》请在金锄头文库上搜索。

1、运用/和%分离整数的各位,1-3:请编写函数fun,其功能是:将两个两位数的正整数a、b合并形成一个整数放在c中。合并的方式是:将a数的十位和个位数依次放在c数个位和十位上,b数的十位和个位数依次放在c数的百位和千位上。 例如,当a=16,b=35,调用该函数后,c=5361。 #include void fun(int a ,int b,long *c) *c=(b%10)*1000+(b/10)*100+(a%10)*10+a/10; ,4-1:数组xxN保存着一组无符号正整数,其元素的个数通过变量num传入函数fun()。请补充函数fun(),该函数的功能是:从数组xx中找出个位和百位的

2、数字相等的所有无符号整数,结果保存在数组yy中,其个数由函数fun()返回。 例如:当xx8=135,78,72,32,222,424,333,141,541时,bb6=787,232,222,424,333,141。 #include #define N 1000 int fun(int xx,int bb,int num) int i,n=0;int g,b;for(i=0;i0)stri=n%10+0;n/=10;i+;stri=0; ,数组特殊位置元素的确定,13-3:下列程序定义了NN的二维数组,并在主函数中赋值。请编写函数fun(),函数的功能是:求出数组周边元素的平方和并作为函数

3、值返回给主函数中的s。 #define N 5 int fun (int wN) int i,j,k=0;int s=0;for(i=0;iN;i+) for(j=0;jN;j+)if(i=0|i=N-1|j=0|j=N-1) /*只要下标中有一个为0或N-1,则它一定是周边元素*/s=s+wij*wij; /*将周边元素求平方和*/return s; /*返回周边元素的平方和*/ ,61-3:下列程序定义了NN的二维数组,并在主函数中自动赋值。请编写函数fun(int aN, int n),该函数的功能是:使数字右(左)上半三角元素中的值乘以m。#define N 5 int fun(int

4、 aN, int m) int i,j;for(i=0;iN;i+)for(j=i;jN;j+)aij=aij*m; ,最大公约数与最小公倍数,77-1:请补充main函数,该函数的功能是:输入两个正整数m和n,求这两个数的最大公约和最小公倍数。 #include main() int a, b, n, m, t;printf(“nInput two numbers:n“);scanf (“%d,%d“, ,判断素数,10-3:请编写一个函数void fun(int m, int k, int xx),该函数的功能是:将大于整数m且紧靠m的k个非素数存入所指的数组中。 例如,若输入15,5,则

5、应输出16,18,20,21,22。void fun(int m, int k, int xx) int i,j,n;for(i=m+1,n=0;nk;i+) /*找大于m的非素数,循环k次,即找出紧靠m的k个非素数*/for(j=2;ji;j+) /*判断一个数是否为素数*/if(i%j=0) xxn+=i; /*如果不是素数,放入数组xx中*/break; /*并跳出本层循环,判断下一个数*/ ,字符串逆序存放,7-1:请补充函数fun(),该函数的功能是:把从主函数中输入的字符串str2倒置后接在字符串str1后面。 例如:str1=“How do“,str2=“?od uoy“,结果输

6、出:“How do you do?“。 #define N 40 void fun(char *str1,char *str2) int i=0,j=0,k=0,n; char ch;char *p1=str1; char *p2=str2;while(*(p1+i)i+;while(*(p2+j)j+;n= j-;for(;k=j/2;k+,j-) ch=*(p2+k);*(p2+k)=*(p2+j);*(p2+j)=ch;*(p2+n)=0;for(;*p2;i+) *(p1+i)=*p2+;*(p1+i)=0; ,48-1:补充函数fun(char *s),该函数的功能是把字符串中的内容

7、逆置。 例如:字符串中原有的字符串为abcde,则调用该函数后,串中的内容变为edcba。 #include #include #include #define N 81 void fun(char*s) int i=0,t,n=strlen(s);for(; ipi) q=p+i; min=pi; i+;while(qp)*q=*(q-1); q-; p0=min; ,循环左移算法,58-3:请编写函数fun(),该函数的功能是:移动一维数组中的内容,若数组中有n个整数,要求把下标从0到p(pn-1)的数组元素平移到数组的最后。 例如,一维数组中的原始内容为1,2,3,4,5,6,7,8,9

8、,10,11,12,13,14,15,p的值为3。移动后,一维数组中的内容应为5,6,7,8,9,10,11,12,13,14,15,1,2,3,4。#include #define N 80 void fun(int *w, int p, int n) int i,j,t;for(i=0;i=p;i+) /*循环左移p+1次*/t=w0; for(j=1;jn;j+) /*实现循环左移*/wj-1=wj;wj-1=t; ,59-3:请编写函数fun(),该函数的功能是:移动字符串中的内容,移动的规则是把第1到第m个字符,平移到字符串的最后,把第m+1到最后的字符移到字符串的前部。 例如,字符

9、串中原有的内容为ABCDEFGHIJK,m的值为3,移动后,字符串中的内容应该是DEFGHIJKABC。 #define N 80 void fun (char *w,int m) int i,j; char t;for(i=1;i=m;i+) /*进行m次的循环左移*/t=w0;for(j=1;wj!=0;j+) /*从第2个字符开始以后的每个字符都依次前移一个字符*/wj-1=wj;wj-1=t; /*将第1个字符放到最后一个字符中*/ ,字符串前(后)加入n个*号,48-2:下列给定程序中函数fun()的功能是:在字符串的最前端加入n个*号,形成新串,并且覆盖原串。 注意:字符串的长度最

10、长允许79。 void fun (char *s, int n) char a80,*p; int i;p=s; for(i=0;in;i+) ai= *;do ai=*p;i+;p+;while(*p);ai=0;strcpy(s,a); ,数据的折半查找算法,58-2:N个有序整数数列已放在一维数组中,给定下列程序中,函数fun() 的功能是:利用折半查找算法查找整数m在数组中的位置。若找到,则返回其下标值;反之,则返回-1。 折半查找的基本算法是:每次查找前先确定数组中待查的范围:low和high(lowhigh,查找结束。 #define N 10 int fun(int a,int m) int low=0,high=N-1,mid;while(lowamid)low=mid+1;else return(mid);return(-1); ,数据的插入,85-1:请补充main函数,该函数的功能是:把一个整数插入到一个已经按从小到大排序的数组中。插入后,数组仍然有序。#define N 10 main() int i,j; int n; int bbN+1=12,23,31,44,51,63,71,79,85,95;scanf(“%d“, ,字符串的删除操作,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 解决方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号