C语言程序设计教程例题源码.docx_第1页
C语言程序设计教程例题源码.docx_第2页
C语言程序设计教程例题源码.docx_第3页
C语言程序设计教程例题源码.docx_第4页
C语言程序设计教程例题源码.docx_第5页
已阅读5页,还剩73页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

C语言程序设计教程例题源码C语言程序设计教程例题源码 第一章 【例1(1】打印“九江职业大学”的汉语拼音。 程序源码如下: main() printf(“jiu jiang zhi ye da xue!”); 【例1(2】求任意两个整数的积。 程序源码如下: #include int mul(int a,int b); main() int x,y,z; printf(input two numbers:n); scanf(%d%d,&x,&y); z=mul(x,y); printf(mul=%d,z); int mul(int a,int b) int c; c=a*b; return c; 【例1(3】 求整数a、b的和。 程序源码如下: main() int a, b; int sum; scanf(“%d,%d”,&a,&b); sum = a + b; printf(“%d”,sum); 第二章 【例2(1】转义字符的使用。 程序源码如下: main() printf(x4fx4bx21n); printf(112 112132104n); 【例2(2】 符号常量的使用。 程序源码如下: #define PI 3.14159265 main() float r,m,s; r=1.2; m=2* PI *r; s= PI *r*r; printf(%f,%f,m,s); 【例2(3】整型变量的定义与使用。 程序源码如下: main() int x, y, m; unsigned u, n; x=30; y=18; u=32800; m=x+y; n=y+u; printf(x+y=%d, y+u=%dn,m,n); 【例2(4】整型变量的定义与使用。 程序源码如下: main() int a,b,c,d; long x, y; x=7; y=8; a=9; b=10; c=x+a; d=y+b; printf(c=x+a=%d,d=y+b=%dn,c,d); 【例2(5】整型数据的溢出。 程序源码如下: main() int x,y; x=32767; y=x+1; printf(%d, %dn,x,y); 【例2(6】实型变量的定义和应用举例。 程序源码如下: main() float x, y,z,a,b; x=1234.2345; a=0.02; y=1111111.11111111111; z=x+y; b= a+y; printf(%fn%f n ,z,b); 【例2(7】字符型变量的定义与使用举例。 程序源码如下: main() char c1,c2; c1=97;c2=98; printf(%c %c ,c1,c2); printf(%d %dn,c1,c2); c1=c1-32; c2=c2-(a-A); printf(%c %cn,c1,c2); 【例2(8】变量初始化举例。 程序源码如下: main() int c1,c2,c3,c4; c1=7;c2=7; c3=3;c4=4; printf(%d %d ,c1,c2); printf(%d %dn,c3,c4); 等效于main() int c1=7,c2=7,c3=3,c4=4; printf(%d %d ,c1,c2); printf(%d %dn,c3,c4); 【例2(10】强制类型转换。 程序源码如下: main() float m=6.5; int n; n= (int)m; printf(%f,%d,m, n); 第三章 【例3(1】关系表达式实例。 程序源码如下: #include int main() int true,false; true=(32); false=(3=2); printf(true=%d;false=%dn,true,false); return 0; 【例3(2】逻辑运算符实例。 程序源码如下: void main() char c=k; int i=1,j=2,k=3; float x=3e+5,y=0.85; printf(%d,%dn,!x*!y,!x); printf(%d,%dn,x|i&j-3,ij&xy); printf(%d,%dn,i=5&c&(j=8),x+y|i+j+k); 【例3(3】自增、自减运算符实例。 程序源码如下: #include void main() int i=8; printf(%dn,+i); printf(%dn,-i); printf(%dn,i+); printf(%dn,i-); printf(%dn,-i+); printf(%dn,-i-); 【例3(4】自增、自减运算符实例。 程序源码如下: #include void main() int i=5,j=5,p,q; p=(i+)+(i+)+(i+); q=(+j)+(+j); printf(%d,%d,%d,%d,p,q,i,j); 【例3(5】输出两个数中的大数。 程序源码如下: #include void main() int a,b,max; printf(n input two numbers: ); scanf(%d %d,&a,&b); printf(%d,max=ab?a:b); 【例3(6】逗号运算符实例。 程序源码如下: #include void main() int a=2,b=4,c=6,x,y; y=(x=a+b),(b+c) ); printf(y=%d,x=%d,y,x); 第四章 【例4(5】求12345的算法,用C语言表示。 程序源码如下: #include main() int i,t; t=1; i=2; while(i=5) t=t*i; i=i+1; printf(“%d”,t); 【例4(6】printf 函数使用实例。 程序源码如下: #include void main() int a=88,b=89; printf(%d %dn,a,b); printf(%d,%dn,a,b); printf(%c,%cn,a,b); printf(a=%d,b=%d,a,b); 【例4(7】printf函数应用实例。 程序源码如下: #include void main() int a=15; float b=138.357620; double c=35648256.3645287; char d=p; printf(a=%d,%5d,%o,%xn,a,a,a,a); printf(b=%f,%lf,%5.4lf,%en,b,b,b,b); printf(c=%lf,%f,%8.4lfn,c,c,c); printf(d=%c,%8cn,d,d); 【例4(8】printf函数应用实例。 程序源码如下: #include main() int i=8; printf(%dn%dn%dn%dn%dn%dn,+i,-i,i+,i-,-i+,-i-); 【例4(9】printf函数应用实例。 程序源码如下: #include main() int i=8; printf(%dn,+i); printf(%dn,-i); printf(%dn,i+); printf(%dn,i-); printf(%dn,-i+); printf(%dn,-i-); 【例4(10】putchar 函数应用实例。 程序源码如下: #include void main() char a=B,b=o,c=k; putchar(a);putchar(b);putchar(b);putchar(c);putchar(t); putchar(a);putchar(b); putchar(n); putchar(b);putchar(c); 【例4(11】scanf函数应用实例。 程序源码如下: #include void main() int a,b,c; printf(input a,b,cn); scanf(%d%d%d,&a,&b,&c); printf(a=%d,b=%d,c=%d,a,b,c); 【例4(12】格式字符串应用实例。 程序源码如下: #include void main() char a,b; printf(input character a,bn); scanf(%c%c,&a,&b); printf(%c%cn,a,b); 【例4(13】格式字符串应用实例。 程序源码如下: #include void main() char a,b; printf(input character a,bn); scanf(%c %c,&a,&b); printf(n%c%cn,a,b); 【例4(14】输入一个小写字母,输出其ASCII码和对应的大写字母。 程序源码如下: #include void main() char a; printf(input a character:n); a=getchar(); printf(%dn,a); putchar(a-32); 【例4(15】输入三角形的三边长,求三角形面积。 程序源码如下: #include #include main() float a,b,c,s; double area; scanf(“%f,%f,%f”,&a,&b,&c); s=1.0/2*(a+b+c); area=sqrt(s*(s-a)*(s-b)*(s-c); printf(“a=%7.2f,b=%7.2f,c=%7.2f,s=%7.2fn”,a,b,c,s); printf(“area=%7.2fn”,area); 第五章 【例5(1】输入两个数到变量x和y中,如果xy则输出x。 程序源码如下: #include main() int x,y; printf(please input x, y:); scanf(%d, %d, &x, &y); if (xy) printf(xyn); printf(%d, %dn, x, y); 【例5(2】某应用软件的登录密码是123,用户从键盘输入密码,如果正确则显示“欢迎使用本软件”的字样,如果密码错误则显示“密码错,请重新输入”的字样。 #include main() int password; printf(请输入密码:n); scanf(%d,&password); if (password=123) printf(欢迎使用本软件); else printf(密码错,请重新输入); 注意:本题要启动中文DOS运行环境,否则程序中的汉字将显示为乱码,以下例题如有汉字输入输出均与此相同,不再多述。 【例5(3】编程实现以下问题求解:给出一百分制成绩,要求输出成绩等级A、B、C、D、E。设90分以上为A,80,89分为B,70,79分为C,60,69分为D,60分以下为E。 程序源码如下: #include main() int score; printf(请输入成绩:); scanf(%d,& score); printf(score=%d:, score); if (score =90) printf(An); else if (score =80) printf(Bn); else if (score =70) printf(Cn); else if (score =60) printf(Dn); else printf(En); 【例5(4】从键盘上输入3个实数a、b、c,求出其中的最小值并输出。 程序源码如下: #include main() float x,y,z,min; printf(请输入x,y,z:); scanf(%f,%f,%f, &x, &y, &z); if (xy) if (xz) min=x; else min=z; else if (yz) min=y; else min=z; printf(min=%fn,min); 【例5(5】从键盘上输入一个字母,如果这个字母是小写字母就将它转换成大写字母。 程序源码如下: #include main() char x ; printf(请输入一个字母:); scanf(%c,&x); x=(x=?a?&x=?z?)?(x-32):x; /*大小写字母ASCII码值相差32*/ printf(转换成大写为:%cn,x); 【例5(6】设计一个程序,要求输入数字1,显示Monday,输入数字2,显示Tuesday,一直到输入数字7,显示Sunday,除此以外,显示error。 程序源码如下: #include main() int x; printf(input integer number: ); scanf(%d,&x); switch (x) case 1: printf(Mondayn); break; case 2: printf(Tuesdayn); break; case 3: printf(Wednesdayn); break; case 4: printf(Thursdayn); break; case 5: printf(Fridayn); break; case 6: printf(Saturdayn); break; case 7: printf(Sundayn); break; default: printf(errorn); 【例5(7】编程序实现输入不同的月份输出相应的季节。按农历一般规定1,3月为春季,4,6月为夏季,7,9月为秋季,10,12月为冬季。 程序源码如下: #include main() int month; printf(n请输入月份:); scanf(%d,&month); switch (month) case 1: case 2: case 3: printf(春季n); break; case 4: case 5: case 6: printf(夏季n); break; case 7: case 8: case 9: printf(秋季n); break; case 10: case 11: case 12: printf(冬季n); break; default: printf(输入的数据非法n); 【例5(8】编程实现一个能进行加减乘除运算的简易计算器程序。 程序源码如下: #include main() float a,b; char ch; printf(input expression: a + ( -,* , / ) b n); scanf(%f%c%f,&a, &ch, &b); switch (ch) case +?: printf (result is %fn , a+b); break; case -?: printf (result is %fn , a-b); break; case ?*?: printf (result is %fn , a*b); break; case /?: if (b!=0) printf (result is %fn , a/b); else printf (除数为0n); break; default: printf(input errorn); 第六章 【例6(1】利用if-goto循环结构求解1到100的累加和。 程序源码如下: #include main() int n=1,s=0; loop: s=s+n;n+; if (n=100) goto loop; printf(s=%dn,s); 【例6(2】用for循环解决1到100的累加问题。 程序源码如下: #include main() int i,s=0; for(i=1;i=100;i+) s=s+i; printf(s=%dn,s); 【例6(3】求数学公式的和:s=1+3+5+99。 程序源码如下: #include main() int s=0,i; for(i=1;i=99;i=i+2) s=s+i; printf(i=%dt s=%dn,i,s); 【例6(4】求n的阶乘n!(n!=1*2*n)。 程序源码如下: #include main() int i,n; long result=1; printf(“input n: ”); scanf(“%d”,&n); for(i=1;i=n;i+) result=result*i; printf(%d! = %ldn,n,j); 【例6(5】从键盘上输入10个数,求其平均值。 程序源码如下: #include main() int i; float f,sum; for(i=1,sum=0.0;i11;i+) scanf(%f,&f); sum=sum+f; printf(average=%fn,sum/10); 【例6(6】从键盘上输入若干正整数,求其中最大数和最小数,输入的数以0为中止标记。 程序源码如下: #include main() int x,max,min; scanf(%d,&x); max=min=x; for(;x!=0;) if (xmax) max=x; scanf(%d,&x); printf(max=%d min=%dn,max,min); 【例6(7】国际象棋棋盘有64格,若在第1格放1粒谷;第2格放2粒谷;第3格放4粒谷;第4格放8粒谷如此一直放到第64格。假设2000000粒谷有一吨重,问需要多少吨谷才够放, 程序源码如下: #include main() int i; float n,s; i=1; n=1.0; s=1.0; for(i=2;i=64;i+) n=n*2; s=s+n; printf(s=%fn,s/2000000); 【例6(8】用while语句求1到100的累加和。 程序源码如下: #include main() int i=1,s=0; while(i=100) s=s+i; i+; printf(“s=%dn”,s); 【例6(9】用do-while语句求1到100的累加和。 #include main() int i=1,s=0; do s=s+i; i+; while(i=100); printf(“s=%dn”,s); 【例6(10】从键盘上连续输入若干个字符(以回车换行符为结束标记),统计字符个数(不含回车换行符)。 程序源码如下: #include main() int n=0; char c; while(c=getchar()!=n) n+; printf(number of character = %dn,n); 程序运行结果如下: Ruruweuiopjsbhcvgasfdugsdfg? number of character = 27 【例6(11】对比例10,用do-while循环结构解决相同问题。即从键盘上连续输入若干个字符(以回车换行符为结束标记),统计字符个数(不含回车换行符)。 程序源码如下: #include main() int n=-1; char c; do n+; while(c=getchar()!=n); printf(number of character = %dn,n); 【例6(12】输入一个正整数(短整型),计算并输出该数的各位数字之和。反复执行直到输入为0时停止。 程序源码如下: #include main() int x,x1,x2,x3,x4,x5; scanf(%d,&x); while(x != 0) x5=x%10; x=x/10;x4=x%10; x=x/10;x3=x%10; x=x/10;x2=x%10; x1=x/10; printf(%dn,x1+x2+x3+x4+x5); scanf(%d,&x); 【例6(13】令s=1+2+3+4+n,求出使得s的值最接近999的n值。 程序源码如下: #include main() int s=0; int n=1; while(s=999) s=s+n; n+; n-; printf(“n=%dn”,n); 【例6(14】要输出五行10个星号的图形,可以用一重循环的for语句来实现。 程序源码如下: #include main() int i,k; for(k=1;k=5;k+) for(i=1;i=10;i+) printf(*); printf(n); 【例6(15】打印所有水仙花数(水仙花数是各位数字立方和等于该数本身的三位正整数)。 程序源码如下: #include main() int i,j,k,m,n; for (i=1;i=9;i+) for (j=0;j=9;j+) for (k=0;k=9;k+) m=i*i*i+j*j*j+k*k*k; n=100*i+10*j+k; if(m=n) printf(%dn, m); 【例6(16】从键盘上接收字符并显示出来,当按Tab键时结束输入。 程序源码如下: #include main() char ch; for(;) scanf(%c,&ch); if(ch=?t?) break; else printf(%c, ch); 【例6(17】设有一张厚0.1mm而面积足够大的纸,如果将它不断地对折,问对折多少次后,其厚度可达到或超过珠穆朗玛峰的高度(8848.130米)。 程序源码如下: #include main() float h=0.1; int n=0; while(h=8848130) h=h*2; n+; printf(it needs %d timesn, n); 【例6.18】对除了是3的倍数以外的1,100的数求和。 程序源码如下: #include main() int s,i; s=0; for(i=1;i=100;i+) if (!(i%3) continue; s=s+i; printf( s=%d, s); 【例6.19】检查输入的一行字符中有无相邻两字符相同。 程序源码如下: #include main() char a,b; printf(input a string:); b=getchar(); while(a=getchar()!=?n?) if(a=b) printf(the string you input have same character nearbyn); break; b=a; 第七章 【例7(1】一维数组引用的示例。 程序源码如下: #include main() int num5,i; num0=5; for(i=1;i4;i+) numi=i+5; printf(input the 5th number:); scanf(%d,&num4); printf(numbers of array num are:n); for(i=0;i5;i+) printf(num%d=%d ,i,numi); 【例7(2】从键盘上输入10个字符,然后按相反次序输出。 程序源码如下: #include main() char a10; int i; printf(input 10 char:); for(i=0;i=0;i-) printf(%c,ai); 程序运行结果如下: input 10 char:qwertyuiop? output 10 char:poiuytrewq 【例7(3】用“选择排序法”对一维数组中的整数进行从小到大的顺序排列。 程序源码如下: #include main() int n,i,k,x,min,min_k,a100; printf(输入整数个数(100):); scanf(%d,&n); for(i=0;in;i+) printf(输入第%d个整数:,i+1); scanf(%d,&ai); for(k=0;kn-1;k+) min=ak; min_k=k; for(i=k;in;i+) if(aimin) min=ai; min_k=i; x=amin_k; amin_k=ak; ak=x; printf(输出排序结果:); for(i=0;in;i+) printf(%d ,ai); 【例7(4】从键盘输入 10 个数,求其中的最大数和最小数,并按逆序打印出该数组。 程序源码如下: #include main() float a10; int i; float max=-1e20,min=1e20; for(i=0;i=9;i+) scanf(%f,&ai); for(i=0;imax) max=ai; if(ai=0;i-) printf(%6.2ft,ai); 【例7(5】从键盘输入一个3*4的整型数组,求出其中的最大值和最小值并显示数组内容。 程序源码如下: main() int a34; int i,j,min,max; for(i=0;i3;i+) for(j=0;j4;j+) scanf(%d,&aij); min=a00; max=a00; for(i=0;i3;i+) for(j=0;jaij) min=aij; if(maxaij) max=aij; printf(max=%d min=%dn,max,min); for(i=0;i3;i+) for(j=0;j4;j+) printf(a%d%d=%dt,i,j,aij); 【例7(6】向一个3*3的矩阵(整型数组)输入数据,输出对角线元素并求它们的和。 程序源码如下: main() int a33,sum=0; int i,j; printf(input data:n); for(i=0;i3;i+) for(j=0;j3;j+) scanf(%d,&aij); for(i=0;i3;i+) printf(a%d%d=%dt,i,i,aii); sum=sum+aii; printf(nsum=%d,sum); 【例7(7】从键盘上输入一个2*3的矩阵,将其转置后形成3*2矩阵输出。 程序源码如下: #include main() int a23,b32,i,j; for(i=0;i2;i+) for(j=0;j3;j+) scanf(%d,&aij); for(i=0;i3;i+) for(j=0;j2;j+) bij=aji; for(i=0;i3;i+) for(j=0;j2;j+) printf(%4d,bij); printf(n); 【例7(8】输入3个学生的学号和3门课程的成绩(整数),统计并输出3门课程总分最高的学生的学号和总分。 程序源码如下: main() int s35,i,max,max_i; for(i=0;i3;i+) printf(input student no%d,s1,s2,s3:n,i+1); scanf(%d,%d,%d,%d,&si0,&si1,&si2,&si3); si4=si1+si2+si3; max=s04,max_i=0; for(i=1;i3;i+) if(maxsi4) max=si4;max_i=i; printf(student no=%d total=%d,smax_i0,smax_i4); 【例7(9】输出一维字符串数组的值。 程序源码如下: main() char c10= I, ,a,m, ,a, ,b,o,y; int i; for( i=0; i10; i+) printf(%c, ci); 【例7(10】 输出如下所示的图案。 * * * * * 程序源码如下: main() char a55= , ,*, , , ,*,*,*, , *,*,*,*,*, ,*,*,*, , , ,*, , ; int i,j; for(i=0;i5;i+) printf(n); for(j=0;j5;j+) printf(%c,aij); 【例7(11】检测一给定的字符串的长度(字符数),不包括结束符0。 程序源码如下: main() static char str=he is a good student! ; int i=0; while(stri!=0) i+; printf(the length of string is %dn,i); 【例7(12】从键盘上输入一行字符(不多于40个,以回车换行符作为输入结束标记),将其中的大写字母改为小写字母,其它字符不变,然后逆向输出。 程序源码如下: main() char a40; int n=0; printf(input char(40):); do scanf(%c,&an); if(A=an)&(an=0) printf(%c,an-); 【例7(13】从键盘上输入一字符串,并将其显示在屏幕上。 程序源码如下: #include main() char str20; int i; for(i=0;i14;i+) scanf(%c,&stri); for( i=0;i14;i+) printf(%c,stri); 【例7(14】从键盘上输入一字符串,并将其显示在屏幕上。 程序源码如下: #include main() char str20; scanf(%s,str); printf(%s,str); 【例7(15】从键盘上输入两个字符串,输出其中较大者。 程序源码如下: #include main() char a80,b80,flag= ; int i=0; printf(string1:); scanf(%s,a); printf(string2:); scanf(%s,b); while(ai!=0)&(bi!=0) if(aibi) flag=b; break; else if(biai) flag=a; break; else i+; if(flag= ) if(ai=0) flag =b; else flag=a; if(flag=a) printf(max-string: %sn,a); else printf(max-string: %sn,b); 【例7(16】编写一程序,将两个字符串连接起来。 程序源码如下: main() char s180,s240; int i=0,j=0; printf(input string1:); scanf(%s,s1); printf(input string2:); scanf(%s,s2); while (s1i!=0) i+; while(s2j!=0) s1i+=s2j+; s1i=0; printf(new string:%s,s1); 第八章 【例8(1】编写程序求三个整数的最大值,其中三个整数由键盘输入。 程序源码如下: #include int max(int x,int y,int z) int m; if (xy) m=x; else m=y; if (zm) m=z; return(m); main() int n1,n2,n3,result; scanf(%d, %d , %d,&n1, &n2, &n3); result=max(n1, n2, n3); printf(最大值result=%d,result); 【例8(2】以下程序通过调用swap函数,对调主函数中变量x和y的值,请观察程序的输出结果。 程序源码如下: #include float swap(float a, float b) float t; printf(swap函数运行,交换前a=%.2f, b=%.2fn, a, b); t=a; a=b; b=t; printf(swap函数运行,交换后a=%.2f, b=%.2fn, a, b); return 0; main() float x=10.0,y=20.0; printf(调用前x=%.2f , y=%.2fn, x, y); swap(x, y); printf(调用后x=%.2f , y=%.2fn, x, y); 【例8(3】数组名作为函数参数应用举例。 程序源码如下: #include int arrx(int *n); main() int i; int m10; for(i=0; i10; i+) mi=i; arrx(m); int arrx(int *n) int j; for(j=0; j10; j+) printf(%3d, *(n+); printf(n); 【例8(4】判断下面程序中sum()函数的返回值类型。 程序源码如下: #include sum(float x, float y) float s; s=x+y; return(s); main() float a,b; int s; scanf( %f, %f, &a,&b); s=sum(a,b); printf(sum=%dn,s); 5】func函数被调用,func函数不返回值,只完成某种操作。 【例8(程序源码如下: #include func( ) printf(这是一个C函数调用n); main() func( ); 【例8(6】调用求两个实数的最

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论