二级C上机考试常有算法(不含计算问题heuu).ppt

二级C上机考试常有算法(不含计算问题heuu).ppt

  1. 1、本文档共38页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
二级C上机考试常有算法(不含计算问题heuu)

全国二级C语言 上机典型题型 运用/和%分离整数的各位 1:请编写函数fun,其功能是:将两个两位数的正整数a、b合并形成一个整数放在c中。合并的方式是:将a数的十位和个位数依次放在c数个位和十位上,b数的十位和个位数依次放在c数的百位和千位上。 例如,当a=16,b=35,调用该函数后,c=5361。 #includestdio.h void fun(int a ,int b,long *c) { *c=(b%10)*1000+(b/10)*100+(a%10)*10+a/10; } 2:数组xx[N]保存着一组3位数的无符号正整数,其元素的个数通过变量num传入函数fun()。请补充函数fun(),该函数的功能是:从数组xx中找出个位和百位的数字相等的所有无符号整数,结果保存在数组yy中,其个数由函数fun()返回。 例如:当xx[8]={135,78,72,32,222,424,333,141,541}时,bb[6]={787,232,222,424,333,141}。 #includeconio.h #define N 1000 int fun(int xx[],int bb[],int num) { int i,n=0; int g,b; for(i=0;inum;i++) { g=xx[i]%10; b=xx[i]/100; if(g==b) bb[n++]=xx[i]; } return n; } 3:以下程序可把输入的十进制数以十六进制数的形式输出。69-2 main() { char b[17]={0123456789ABCDEF}; int c[64],d,i=0,base=16; long n; printf(Enter a number:\n); scanf(%ld,n); do { c[i]=n%base; i++; n=n/base;} while(n!=0); printf(Transmite new base:\n); for(--i;i=0;--i) { d=c[i];printf(%c,b[d]);} printf(\n); } 4:请补充函数fun(),该函数的功能是:把一个整数转换成字符串,并倒序保存在字符数组str中。例如:当n,str #includestdio.h #includeconio.h #define N 80 char str[N]; void fun(long int n) { int i=0; while(n0) { str[i]=n%10+0; n/=10; i++; } str[i]=\0; } 数组特殊位置元素的确定 1:下列程序定义了N×N的二维数组,并在主函数中赋值。请编写函数fun(),函数的功能是:求出数组周边元素的平方和并作为函数值返回给主函数中的s。 #define N 5 int fun (int w[][N]) { 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+w[i][j]*w[i][j]; /*将周边元素求平方和*/ } return s; /*返回周边元素的平方和*/ } 2:下列程序定义了N×N的二维数组,并在主函数中自动赋值。请编写函数fun(int a[][N], int n),该函数的功能是:使数字右(左)上半三角元素中的值乘以m。 #define N 5 int fun(int a[][N], int m) { int i,j; for(i=0;iN;i++) for(j=i;jN;j++) a[i][j]=a[i][j]*m; } 最大公约数与最小公倍数 1:请补充main函数,该函数的功能是:输入两个正整数m和n,求这两个数的最大公约和最小公倍数。(题盘34-2 83-2) #include stdio.h main() { int a, b, n, m, t; printf(\nInput two numbers:\n); scanf (%d,%d,n,m); if(nm){a=m; b=n; } else {a=n; b=m;} while(b!=0) {t=a%b; a=b;b=t; } printf(gr

文档评论(0)

dajuhyy + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档