- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C语言二级编程题技巧总结
上机编程题总结 一、编程题的基本算法 1.求和问题。 (1)(循环控制变量)计数器的范围。 (2)和变量的初值一般为0。 (3)如是分数求和,请注意整除问题。 (4)在确保前三个条件的情况下,按编程的思路,一步步完善。 2. 求乘积问题。 (1)积变量 (2)乘积表达式作分母的时候,是一个整体,请加括号。 3.找最大值、最小值问题。 (1)首先将首元素(行首、列首等)的值赋给保存最大值(或最小值)的变量,如max(或min) (2)然后将max(或min)和后面的元素一一比较,如果出现更大的值(或更小的值),则将该值赋给max(或min),直到全部比完为止,利用一个临时变量j记录max所在位置。 (3)一维数组的首元素为a[0],二维数组的首元素为a[0][0],二维数组的行首元素为a[i][0],二维数组的列首元素为a[0][i]。 例:找出2×M整型二维数组中最大元素的值 int fun (int a[][M]) { int i,j,max=a[0][0]; for(i=0;i2;i++) for(j=0;jM;j++) if(maxa[i][j]) max=a[i][j]; return max; } 4.求素数问题。 (1)判断一个素是否为素数。 (2)求某个范围内素数的个数、和、平方根和等。 5. 求最小公倍数、最大公约数问题。 最小公倍数求法:用从1开始的数去整除,若能同时整除,则此数为最小公倍数,否则继续加1再整除,直到找到为止。 for(k=1; ;k++) { if(k%a==0k%b==0) break }; 最大公约数求法(碾转相除法):xy (1)将两数中的大数去除以小数,如果除不断,转入(2),若能整除,转入(3)。 (2)将小数变成被除数,它们的余数为除数,再相除。如果除不断,转入(2)。若能整除,转入(3)。 (3)则此除数为最大公约数。 int a(int x,int y) { int temp; temp=x%y; if(temp==0) { return y; } else { return a(y,temp); } } 6.字符串问题。 (1)串重新组合问题。 ①原串中去掉(或添加)一部分组成成分(如数字、*号) ②奇数或偶数重排 (2)在串中查找字符或字符串问题。 (3)前两个问题中涉及到的字符移动问题(前移、后移) (4)将串中的某些前移,某些后移,实质是先选出来,存在不同的数组中,再重新合并。 (5) 逆序。 (6)字符型的数字转换为成其面值相同的整数,并进行相关运算。如‘5’转换为数值5怎么转换? ‘5’-‘0’=5 或‘5’-48=5 (7)字符大小写转换。如‘A’转换为‘a’怎么转换? ‘A’-‘a’=-32 或‘a’-32=‘A’ for(i=0;in;i++) { if(b[i]=a b[i]=z) c=b[i]-32; if(b[i]=A b[i]=Z) c=b[i]+32; return c; }} 7.排序问题(假定有n个元素)。 1)冒泡排序。 从数组的首元素开始,依次对相邻的两个元素进行比较,当发现前面的数字大于(或小于)后面时 就进行依次交换,从头到尾比较完一遍就挑出一个最大(或最小)的数,将其排在最后面,n个数要比较n-1遍,其中第j遍要两两相比n-j遍。 主要参数说明: i (循环次数n-1次): 0----n-2 如果a[i]a[i+1] {t=a[i];a[i]=a[j];a[j]=t; }则为降序 如果a[i]a[i+1] {t=a[i];a[i]=a[j];a[j]=t; }则为升序. 例: main() { int i,j,temp; int a[10]; for(i=0;i10;i++) scanf (%d,,a[i]); for(j=0;j=9;j++) { for (i=0;i10-j;i++) if (a[i]a[i+1]) { temp=a[i]; a[i]=a[i+1]; a[i+1]=temp;} } for(i=0;i10;i++) printf(%5d,,a[i] ); printf(\n); } 2)选择排序。 选
文档评论(0)