ImageVerifierCode 换一换
格式:DOCX , 页数:17 ,大小:19.82KB ,
资源ID:4152880      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/4152880.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(C语言源程序.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

C语言源程序.docx

1、C语言源程序C语言源程序1. #include void main() int a35,i; for(i=0;i3;i+) scanf(%d%d%d%d,&ai0,&ai1,&ai2,&ai3); ai4=ai0+ai1+ai2+ai3; for(i=0;i3;i+) printf(%4d%4d%4d%4d%4d,ai0,ai1,ai2,ai3,ai4); printf(n); 2.#include void main()int a35,i;for(i=0;i3;i+)scanf(%d%d%d%d,*(a+i),*(a+i)+1,*(a+i)+2,*(a+i)+3);*(*(a+i)+4)=*

2、(*(a+i)+*(*(a+i)+1)+*(*(a+i)+2)+*(*(a+i)+3);for(i=0;i3;i+)printf(%4d%4d%4d%4d%4d,*(*(a+i),*(*(a+i)+1),*(*(a+i)+2),*(*(a+i)+3),*(*(a+i)+4);printf(n);3.#include void main()int a35,i;for(i=0;i3;i+)scanf(%d%d%d%d,*a+i*5,*a+i*5+1,*a+i*5+2,*a+i*5+3);*(*a+i*5+4)=*(*a+i*5)+*(*a+i*5+1)+*(*a+i*5+2)+*(*a+i*5+3

3、);for(i=0;i3;i+)printf(%4d%4d%4d%4d%4d,*(*a+i*5),*(*a+i*5+1),*(*a+i*5+2),*(*a+i*5+3),*(*a+i*5+4);printf(n);(4):#include void main()int a35,*p;for(p=*a;p*a+15;p=p+5)scanf(%d%d%d%d,p,p+1,p+2,p+3);*(p+4)=*p+*(p+1)+*(p+2)+*(p+3);for(p=*a;p*a+15;p=p+5)printf(%4d%4d%4d%4d%4d,*p,*(p+1),*(p+2),*(p+3),*(p+4)

4、;printf(n);(5):#include void main()int a35,(*p)5;for(p=a;pa+3;p+)scanf(%d%d%d%d,*p,*p+1,*p+2,*p+3);*(*p+4)=*p+*(*p+1)+*(*p+2)+*(*p+3);for(p=a;pa+3;p+)printf(%4d%4d%4d%4d%4d,*p,*(*p+1),*(*p+2),*(*p+3),*(*p+4);printf(n);(6):#include void main()int a35,*p3,i;for(i=0;i3;i+)pi=ai;for(i=0;i3;i+)scanf(%d%d

5、%d%d,pi,pi+1,pi+2,pi+3);*(pi+4)=*(pi)+*(pi+1)+*(pi+2)+*(pi+3);for(i=0;i3;i+)printf(%4d%4d%4d%4d%4d,*(pi),*(pi+1),*(pi+2),*(pi+3),*(pi+4);printf(n);(7):#include int *f(int a,int b,int c,int d)int s;s=a+b+c+d;return &s;void main()int a35,*p,i;for(i=0;i3;i+)scanf(%d%d%d%d,*(a+i),*(a+i)+1,*(a+i)+2,*(a+i

6、)+3);p=f(*(*(a+i),*(*(a+i)+1),*(*(a+i)+2),*(*(a+i)+3);*(*(a+i)+4)=*p;for(i=0;i3;i+)printf(%4d%4d%4d%4d%4d,*(*(a+i),*(*(a+i)+1),*(*(a+i)+2),*(*(a+i)+3),*(*(a+i)+4);printf(n);(8):#include int f(int *a,int *b,int *c,int *d)int s;s=*a+*b+*c+*d;return s;void main()int a35,i;for(i=0;i3;i+)scanf(%d%d%d%d,*

7、(a+i),*(a+i)+1,*(a+i)+2,*(a+i)+3);*(*(a+i)+4)=f(*(a+i),*(a+i)+1,*(a+i)+2,*(a+i)+3);for(i=0;i3;i+)printf(%4d%4d%4d%4d%4d,*(*(a+i),*(*(a+i)+1),*(*(a+i)+2),*(*(a+i)+3),*(*(a+i)+4);printf(n);1.第一种方法:输入十个数,用指针输出#include void main()int a10,*p;printf(请输入十个数:n);for(p=a;pa+10;p+)scanf(%d,p);printf(请输出十个数:n);

8、for(p=a;pa+10;p+)printf(% d,*p);printf(n);2.方法二:输入十个数,用指针输出#include #define p printfvoid main()int a10,i;p(请输入十个数:n);for(i=0;i10;i+)scanf(%d,a+i);p(输出结果:n);for(i=0;i10;i+)p(%-5d,*(a+i);将大写字母变成小写字母,小写字母变成大写字母:#include void main()char a81;int i;gets(a);for(i=1;ai!=0;i+)if(ai=a&ai=A&ai=Z)ai+=32;/*注意一定要

9、加else,否则把小写字母变成大写字母*/puts(a);将二进制转化为十进制:#include #include void main( ) int s,t,i;char a16;gets(a);s=0;t=1;for(i=strlen(a)-1;i=0;i-)s+=(ai-48)*t;t*=2;printf(ns=%d,s); 将数组中第一个元素和第二个元素颠倒顺序:#include void f(int a,int n)int t;t=a0;a0=a1;a1=t;void main()int i,b5=1,2,3,4,5;f(b,5);for(i=0;i5;i+)printf(%d ,bi

10、);形参值的改变不会影响到实参:#include void f(int x,int y)int t; t=x;x=y;y=t;void main()int i,b5=1,2,3,4,5;f(b0,b1);for(i=0;i5;i+)printf(%d ,bi);用选择法将六个数进行排序(从小到大):#includevoid main()int a7,i,j,t;for(i=1;i7;i+)scanf(%d,&ai);for(i=1;i6;i+)for(j=1;jaj+i)t=ai;ai=aj+i;aj+i=t;printf(n);for(i=1;i7;i+)printf(%d ,ai);编一个

11、函数,将五个数倒序输出:#includevoid main()int b5=1,2,3,4,5,i;void f(int a,int n);f(b,5);for(i=0;i5;i+)printf(%d ,bi);void f(int a,int n)int t,i,j;for(i=0,j=n-1;i=j;i+,j-)t=ai;ai=aj;aj=t;编程实现三角形:#includevoid main()int i;void p(int,int);for(i=1;i=9;i+)p(i,0);p(10-i,1);printf(n);void p(int n,int m)int i;for(i=0;i

12、n;i+)if(m=1)printf(*); if(m=0)printf( );把a数组中的元素接到b数组中:#include #include void main()char a81,b81;int i,j;gets(a);gets(b);for(i=strlen(a),j=0;(ai=bj)!=0;i+,j+)puts(a);puts(b);求解满足条件1+2+3+n=500的最小n:#include void main()int n=0,s=0;don+;s+=n;while(s500);printf(n=%dn,n);分析程序结果:#include #define p printf#d

13、efine s scanfvoid main()int a,b,c;a=2;b=-1;c=2;if(ab) if(b0) c=0;else c+=0;p(%dn,c);【解】第一个if条件不为真,则直接执行printf语句,输出为2.注意:else与前面最近的if语句匹配,所以本题不会执行else语句。分析一下程序的运行结果:#include void main()int n=2;printf(%d,%d,%dn,+n,n+=2,-n);【解】n=2,执行printf()语句,其求值是从右向左进行的,先进行n,返回1,n=1;在进行+n,即n=3,最后进行+n,返回n=4.所以运行结果是4,3

14、,1.分析程序:#include #define p printf#define s scanfvoid main()int i,j,x=0;for(i=0;i2;i+)x+;for(j=0;j=3;j+)if(j%2)continue;x+;x+;p(x=%dn,x);【解】外层for循环,i=0:x+后x=1,进入里层for循环,其作用是j从0到3,j不为偶数时x增一,故该循环后x=3.又执行x+,之后x=4;i=1:x+后x=5,进入里层for循环,该循环后x=7,。又执行x+,之后x=8;里层循环结束。所以输出为:8.continue语句用来结束本次循环,即跳过循环体中尚未执行的语句。

15、用0到9之间的三个数组成一位三位数,统计共有多少种这样的三位数:#include void main()int i,j,k,count=0;for(i=1;i=9;i+) for(j=0;j=9;j+) if(i=j)continue; else for(k=0;k=9;k+) if(k=i|k=j)continue; else count+;printf(count=%dn,count);输入199之间不能被2和3整除的数,按10个数一行的格式排列:【解】从1到100循环,除掉其中能被2和3整除的数。本题程序如下:#include #define p printf#define s scan

16、fvoid main()int i,j=0;for(i=1;i100;i+)if(i%2=0|i%3=0)continue;p( %-4d,i);j+;if(j%10=0)p(n);p(n);输入一个正整数,把它的前后各位数字颠倒一下,并输出颠倒后的结果:【解】先从高位到低位求出该书的各位数字,边求边输出,本题程序如下:#include #define p printf#define s scanfvoid main()int n,d;p(输入一个正整数:);s(%d,&n);p(颠倒结果:);dod=n%10;p(%d,d);n/=10;while(n!=0);p(nn);在不知道字母的AS

17、CII码的情况下,将用户输入的大写字母转化成小写字母:#include #define p printf#define s scanfvoid main()char c,ch;p(输入一个大写字母:);s(%c,&c);ch=c-A+a;p(%c=%cn,c,ch);将输入的数字字符转换成相应的数字并输出:?对于水中字符c,直接使用(int)c转换成相应的数字是不正确的,应使用c-0转换。本题程序如下:#include void main()char c;int d;printf(输入一个数字字符:);scanf(%c,&c);d=c-0;printf(对应的数字为%d:nn,d);输出任意一

18、个十进制对应的八进制数和十六进制数:?直接使用printf()的格式符输出八进制数和十六进制数。本题程序如下:#include void main()int i;printf(输入一个整数:);scanf(%d,&i);printf(%d(10)%o(8)n,i,i);printf(%d(10)%x(16)nn,i,i);编写一个程序,求任意输入字符的ASCII码:#include void main()char c;int i;printf(输入一个字符:);scanf(%c,&c);i=(int)c;/*强制转换*/printf(%c的ASCII码为%dn,c,i);分析以下程序运行结果:

19、#include #define p printf#define s scanfvoid main()int x=0,y=2,z=3;switch(x)case 0:switch(y=2)case 1:p(*);break; case 2:p(%);break;case 1:switch(z) case 1:p($); case 2:p(*);break; default:p(#);p(n);【解】x=0,执行外层switch语句的case 0部分,y=2为真,则执行里层switch语句的case 1部分,输出“*”,遇到break语句,退出里层的switch语句,由于里层的switch语句之

20、后没有break语句,所以转而执行外层switch语句的case 1部分,这时z=3,故执行里层switch语句的default部分,输出“#”,整个程序执行完毕。所以输出为:*#。如果从键盘上输入a到z共26个字母,分析一下程序的运行结果:#include #define p printf#define s scanfvoid main()char c;int v0=0,v1=0;do switch(c=getchar()case a:case A: case e:case E: case i:case I: case o:case O: case u:case U:v1+=1; defau

21、lt:v0+=1;while(c!=n);p(%d,%dn,v0,v1);【解】实际上v1统计元音字母的个数,v0统计总的字符的个数,由于最后输入的一个回车符也算是一个字符,故最后,v1=5,v0=27,所以输出为:27,5.(易错)分析一下程序的运行结果:#include #define p printf#define s scanfvoid main()int k=2;switch(k)case 1:p(%dn,k+);break; case 2:p(%d ,k+); case 3:p(%dn,k+);break; case 4:p(%dn,k+); default:p(Full!n);【

22、解】k=2,执行case2:分支,k+返回k=3,屏幕输出2,后跟一空格。由于没有break语句,继续执行case3:分支,k+返回3,此时k=4,屏幕输出3,由于有一个break语句,退出switch语句。所以最后运行结果是2,3.用户输入日期,计算该日期是这一年的第几天:【解】本题使用switch语句,每个case语句均不带break语句,这样在某个case的条件满足后从case语句开始依次执行到最后,从而达到累计各月天数的目的。程序如下:#include #define p printf#define s scanfvoid main()int y,m,d,leap,days;p(输入日

23、期(格式:年.月.日):);s(%d.%d.%d,&y,&m,&d);if(y%4=0&y%100!=0)|(y%400=0)leap=1;/*闰年*/else leap=0;days=d;switch(m-1)case 12:days+=31; case 11:days+=30; case 10:days+=31; case 9:days+=30; case 8:days+=31; case 7:days+=31; case 6:days+=30; case 5:days+=31; case 4:days+=30; case 3:days+=31; case 2:if(leap=1)days

24、+=29;/*闰年的情况*/ else days+=28; case 1:days+=31;p(n%d.%d.%d是该年的第%d天nn,y,m,d,days);编程序将用户输入的十进制正整数转化成任意进制的整数:【解】采用辗转相除法进行进制间的转换,将结果储存在一维数组num中,最后显示其值即可,本题程序如下:#include #define p printf#define s scanfchar itc(int n)/*数字转换成字符表示,如10.*/char c;if(n=0&n=1;j-)p(%c,itc(numj);p(n);编写一个累加器,知道输入一个整数“0”结束:#include void main()float s=0,d;for(;d!=0;)/或while(1)即无条件循环,靠break语句终止循环过程printf(输入一个数:); scanf(%f,&d);s=s+d;printf(累次结果:%gn,s);将十进制数转化为二进制数:#include void main( ) int x,a16,i;printf(请输入一个十进制数:nt);scanf(%d,&x);for(i=0;x2;i+)ai=x%2;x/=2;ai=x;printf(n);printf(所求二进制数为:nt);for(;i=0;i-)printf(%d,ai);printf(n);

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1