20个典型及其C语言参考代码.doc

上传人:re****.1 文档编号:559747738 上传时间:2023-02-18 格式:DOC 页数:14 大小:108KB
返回 下载 相关 举报
20个典型及其C语言参考代码.doc_第1页
第1页 / 共14页
20个典型及其C语言参考代码.doc_第2页
第2页 / 共14页
20个典型及其C语言参考代码.doc_第3页
第3页 / 共14页
20个典型及其C语言参考代码.doc_第4页
第4页 / 共14页
20个典型及其C语言参考代码.doc_第5页
第5页 / 共14页
点击查看更多>>
资源描述

《20个典型及其C语言参考代码.doc》由会员分享,可在线阅读,更多相关《20个典型及其C语言参考代码.doc(14页珍藏版)》请在金锄头文库上搜索。

1、暑期培训编程课程20个典型例题及其C语言参考代码1:从低位开始取出长整型变量s中奇数位上的数,依次构成一个新数放在t中。例如,当s中的数为4576235时,t中的数为4725。#includeint fun(long s) long t=0,s1=1; while(s0) t=t+s%10*s1; s=s/100; s1=s1*10; return t;int main() long s; printf(nPlease enter s: ); scanf(%ld,&s); printf(The result is: %ldn , fun(s);return 0;2: 分类统计一个字符串中元音字

2、母(A,E,I,O,U)和其他字符的个数(不区分大小写)。例如,输入aeiouAOUpqrt,结果为A:2 E:1 I:1 O:2 U:2 other:4。#includeint main() char str100; int a=0,e=0,i=0,o=0,u=0,oter=0;int p=0; printf(Input a string: n); gets(str); for(p=0;strp!=0;p+) if(strp=A | strp=a)a+; else if(strp=E | strp=e)e+; else if(strp=I | strp=i)i+; else if(strp=

3、O | strp=o)o+; else if(strp=U | strp=u)u+; else oter+; printf(A:%d E:%d I:%d O:%d U:%d Other:%dn,a,e,i,o,u,oter); return 0;3: 计算并输出k以内最大的6个能被7或11整除的自然数之和。例如k的值为500,则输出2925。#includeint main() int m=0,mc=0,k; printf(Input the number K:); scanf(%d,&k); while(k=2)&(mc6) if(k%7=0)|(k%11=0) m=m+k; mc+; k-

4、; printf(The result is:%dn,m); return 0;4:根据形参m,计算下列公式的值。t=1-1/21/3-1/4(-1)(m+1)/m例如,若输入5,则应输出0.783333。#include int main() int m,i;double t=1.0,j=1.0; printf(Please enter number m: ); scanf(%d,&m); for(i=2;i=m;i+) j=-1*j;t+=j/i; printf(The result is %lfn,t); return 0;5: 从给定无符号整数数组xx中找出个位和十位的数字之和大于的所

5、有整数,结果保存在数组yy中,输出其个数及数组yy。(数组xx的输入由0结尾)例如:当xx8=123,11,25,222,42,333,14,5451时,输出:25,42,333,5451,共有4个。#include #define N 1000int main() int xxN;int yyN; int num=0,n=0,i=0; printf(Input numbers :n); do scanf(%u,&xxnum); while(xxnum+!=0);for(i=0;i5)yyn+=xxi; for(i=0;in;i+)printf(%u ,yyi);printf(共有:%dn,n

6、); return 0;6: 求出输入的数组周边元素的平方和并输出。例如:若a 数组中的值为a=0 1 2 7 91 11 21 5 52 21 6 11 19 7 9 10 25 4 1 4 1则输出的值应为310。#include #define N 5int main() int aNN;int i, j,s=0; for(i=0;iN;i+) for(j=0;jN;j+) scanf(%d,&aij); if(i=0|i=N-1|j=0|j=N-1) s=s+aij*aij; printf(The result is : %dn ,s); return 0;7:请编写函数fun,它的功

7、能是:将字符串中前面的*号和中间的*号删除,末尾的*号不动。例如,已知字符串*ap* *eng*,输出apeng*。/此程序直接在原来的字符串上改动,用指针方法,较难理解。本题可直接对字符串遍历,将除/*外的字符保存在新数组中,结尾加上最后的*号,这样实现起来更容易#include void fun(char *s)char *p=s,*q=s,*t;int i,j;while(*p)p+;p-;while(*p=*)p-;for(i=0;qp;i+)q+;if(si=*)t=&si;for(j=0;*t!=0;j+,t+)si+j=si+j+1;p-;i-;q-;int main() cha

8、r s100; printf(Enter a string:); gets(s);fun(s); printf(The result is : %sn ,s); return 0;8: 请编写函数fun,其功能是:将两个两位数的正整数a,b合并成一个整数放在c中。合并的方式是:将a数的十位和个位依次放在c数的千位和十位上,b数的十位和个位数依次放在c数的百位和个位上。#include int fun(int a,int b)return (a/10)*1000+(b/10)*100+(a%10)*10+b%10;int main() int a,b; printf(Enter two inte

9、gers a and b:); scanf(%d%d,&a,&b); printf(The result is : %dn ,fun(a,b); return 0;9: 请编写程序,该程序的功能是:删去一维数组中所有相同的数,使之只剩一个。输出删除后的数组。输入数组以-1结尾。#include int main() int a100;int n=0; int i,j,k,tmp; while(scanf(%d,&an+),an-1)!=-1); n-; for(i=0;in-1;i+)k=i;for(j=i+1;jn;j+)if(ajak)k=j;if(k!=i)tmp=ai;ai=ak;ak

10、=tmp; for(i=0;in-1;i+) if(ai=ai+1)ai=-1; for(i=0;in;i+) if(ai!=-1)printf(%d ,ai); return 0;10:一个自然数的七进制表达式是一个三位数,而这个自然数的九进制表示也是一个三位数,且这两个三位数的数码正好相反,求这个三位数。#includeint main()int i,j,k;for(i=1;i7;i+)for(j=0;j7;j+)for(k=1;k7;k+) if(i*9*9+j*9+k=i+j*7+k*7*7) printf(The special number with 3 digits is:);

11、printf(%d%d%d(7)=%d%d%d(9)=%d(10)n,k,j,i,i,j,k,i*9*9+j*9+k); return 0;11:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。#includeint main()int n,i;printf(please input a number:n);scanf(%d,&n);printf(%d=,n);for(i=2;i=n;i+)while(n!=i)if(n%i=0)printf(%d*,i);n=n/i;else break;printf(%d,n); return 0;12:有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13.求出这个数列的前20项之和。#includeint main()int n,number=20;double a=2,b=1,s=0,t;for(n=1;n=number;n+) s=s+a/b; t=a;a=a+b;b=t;printf(sum is %9.6fn,s);return 0;13:某级数的前两项A1=1、A2=1,以后各项具有如下关系:An=An-2+2An-1。下列程序的功能是:要求依次对于整数M=100、1000和10000求出对应的n值,使其满足:Sn

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

当前位置:首页 > 生活休闲 > 社会民生

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