《2022年程序编写 .pdf》由会员分享,可在线阅读,更多相关《2022年程序编写 .pdf(24页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、C 语言程序设计1 C 语言(典型例子和课后习题)第二章C 语言程序基础输入两个数,并互换。#include void main()int a,b,c;printf(input a,bn);scanf(%d%d,&a,&b);c=a;a=b;b=c;printf(a=%d,b=%dn,a,b);输入一个三位数,并反向输出各位数字。#include void main()int m,a,b,c;/*a 表示百位数字,b 表示十位数字,c 表示个位数字*/printf(input mn);scanf(%d,&m);a=m/100;b=(m-a*100)/10;c=m-a*100-b*10;/*c=
2、m%10;b=m/10%10;a=m/100;*/printf(%d,%d,%dn,c,b,a);输入两个圆的半径,分别求出它们的周长和面积。#define PI 3.1415926 main()float r1,r2,len1,len2,s1,s2;r1=10;r2=20;len1=2*PI*r1;s1=PI*r1*r1;printf(len1=%f s1=%fn,len1,s1);len2=2*PI*r2;s2=PI*r2*r2;printf(len2=%f s2=%fn,len2,s2);第三章选择结构P53 1.编写一个程序,从键盘输入三角形三条边的边长,求三角形的面积。#includ
3、e#include void main(void)float a,b,c,s,area;printf(请输入三角形的三边:n);scanf(%f%f%f,&a,&b,&c);if(a+bc&a+cb&b+ca)/*括号里的内容可写为a+bc&fabs(a-b)c*/s=(a+b+c)/2;area=sqrt(s*(s-a)*(s-b)*(s-c);/*fabs(x)表示 x 的绝对值*/printf(area=%fn,area);else printf(输入数据错误!n);名师资料总结-精品资料欢迎下载-名师精心整理-第 1 页,共 24 页 -C 语言程序设计2 2.输入圆的半径r 和一个整
4、型数k,当 k=1 时,计算圆的面积;当k=2 时,计算圆的周长;当 k=3 时,既要求出圆的周长也要求出圆的面积。编程实现以上功能。#include void main()int k;float r,len,area;scanf(%d%f,&k,&r);if(k=1)area=3.14*r*r;printf(area=%fn,area);else if(k=2)len=2*3.14*r;printf(len=%fn,len);else if(k=3)len=2*3.14*r;area=3.14*r*r;printf(len=%f,area=%fn,len,area);else printf(
5、无结果!n);3.从键盘上输入一个年份,判断该年是否为闰年。闰年的条件是:年份能被4 整除但不能被100 整除,或者能被400 整除。#include void main()int k;printf(输入一个年份:n);scanf(%d,&k);if(k%4=0&k%100!=0|k%400=0)printf(该年是闰年!n);else printf(该年不是闰年!n);4.有一个函数,其函数关系如下,试编程求对应于每个自变量的函数值。#include#include void main(void)float x,y;printf(input xn);scanf(%f,&x);if(x=0&x
6、10)y=-0.5*x+10;else y=x-sqrt(x);printf(y=%fn,y);5.编一个程序,对于给定的一个百分制成绩,输出相应的等级。方法一:#include 名师资料总结-精品资料欢迎下载-名师精心整理-第 2 页,共 24 页 -C 语言程序设计3 void main(void)int score;printf(请输入学生成绩:);scanf(%d,&score);if(score=0&score=100)switch(score/10)case 10:case 9:printf(优秀 n);break;case 8:printf(良好 n);break;case 7:
7、printf(中等 n);break;case 6:printf(及格 n);break;default:printf(不及格 n);break;else printf(输入数据错误!n);方法二:#include void main(void)int score;printf(请输入学生成绩:);scanf(%d,&score);if(score=90&score=80&score=70&score=60&score=0&score60)printf(不及格 n);else printf(输入数据错误!n);7.从键盘上随机输入三个英文字母,要求从小到大的顺序输出这三个字母。#include
8、 void main(void)char a,b,c,t;printf(从键盘上随机输入三个英文字母:n);scanf(%c%c%c,&a,&b,&c);if(ac)t=a;a=c;c=t;if(bc)t=b;b=c;c=t;if(ab)t=a;a=b;b=t;printf(%c,%c,%cn,a,b,c);/*程序结束后,a 中存的最小的数,c 中存的最大的数*/8.计算一元二次方程ax*x+bx+c=0的根。设方程为:ax*x+bx+c=0,要求从键盘上输入a、名师资料总结-精品资料欢迎下载-名师精心整理-第 3 页,共 24 页 -C 语言程序设计4 b、c 的值求出方程的根。求解规则如
9、下:1)若 a 和 b 的值为 0,方程无解。2)若 a=0,则方程只有一个实根。3)若 b*b-4ac=0,则方程有两个实根。4)若 b*b-4ac0,则方程有两个复根。#include#include void main(void)float a,b,c,dt,x1,x2,realpart,imagpart;scanf(%f%f%f,&a,&b,&c);dt=b*b-4*a*c;if(fabs(a)=1e-6&fabs(b)=1e-6)printf(方程无解!n);else if(fabs(a)=1e-6)printf(%fn,-c/b);else if(fabs(dt)=1e-6)if(
10、dt=1e-6)x1=(-b+sqrt(dt)/(2*a);x2=(-b-sqrt(dt)/(2*a);printf(%f,%fn,x1,x2);else realpart=-b/(2*a);imagpart=fabs(sqrt(dt)/(2*a);printf(%f+%fin,realpart,imagpart);printf(%f-%fin,realpart,imagpart);输入三角形的三边长,判断能不能构成三角形。然后进一步判断它是等边,等腰,还是普通三角形。#include void main(void)float a,b,c;printf(输入三角形的三边:n);scanf(%f
11、%f%f,&a,&b,&c);if(a+bc&b+ca&a+cb)if(a=b&b=c)printf(这是一个等边三角形!n);else if(a=b|b=c|c=a)printf(这是一个等腰三角形!n);else printf(这是一个普通三角形!n);else printf(不能构成三角形!n);从键盘上输入一个字符,判断该字符是数字、大写字母、小写字母还是其他字符。名师资料总结-精品资料欢迎下载-名师精心整理-第 4 页,共 24 页 -C 语言程序设计5#include void main(void)char c;printf(请输入一个字符:);c=getchar();if(c=0
12、&c=A&c=a&c=z)printf(是小写字母 n);else printf(是其他字符 n);从键盘输入一串字符,以 n 结束,分别统计出英文字母,空格,数字和其他字符的个数。#include void main()int letter=0,space=0,digital=0,other=0;char ch;printf(输入一串字符:);ch=getchar();while(ch!=n)if(ch=A&ch=a&ch=0&ch=9)digital+;else other+;ch=getchar();printf(letter=%d,space=%d,digital=%d,other=%
13、dn,letter,space,digital,other);输入年份year 和月份 month,求该月的天数。#include void main()int year,month,days=0;printf(输入年份year 和月份 month:);scanf(%d%d,&year,&month);switch(month)case 1:case 3:case 5:case 7:case 8:case 10:case 12:days=31;break;case 4:case 6:case 9:case 11:days=30;break;case 2:if(year%4=0&year%100
14、!=0|year%400=0)days=29;else days=28;break;default:printf(Input error!n);if(days!=0)printf(year=%d,month=%d,days=%dn,year,month,days);计算器程序。输入两个运算数和一个四则运算符,输出计算结果。#include#include void main()名师资料总结-精品资料欢迎下载-名师精心整理-第 5 页,共 24 页 -C 语言程序设计6 float a,b;char c;printf(输入表达式:运算数 运算数 n);scanf(%f%c%f,&a,&c,&b)
15、;switch(c)case+:printf(%fn,a+b);break;case-:printf(%fn,a-b);break;case*:printf(%fn,a*b);break;case/:if(fabs(b)=1e-6)printf(数据错误,除数不能为0!n);else printf(%fn,a/b);default:printf(运算符只能是+-*/!n);第四章循环结构程序设计猴子吃桃子问题:猴子第1 天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。第 2 天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10 天早晨想再吃时,
16、只剩下一个桃子了。求第1 天共摘了多少个桃子。#include void main()int x1,x2=1,day=9;while(day0)x1=2*(x2+1);x2=x1;day-;printf(The total is%dn,x1);P88 习题 1.有 1、2、3、4 这 4 个数字,能组成多少个互不相同且无重复数字的三位数?它们都是多少?方法一:#include void main()int x=100,x1,x2,x3,i=0;while(x=1&x1=1&x2=1&x3=4&x1!=x2&x2!=x3&x3!=x1)printf(%-5d,x);i+;/*i 计数*/if(i
17、%4=0)printf(n);x+;printf(i=%-dn,i);方法二:#include void main()名师资料总结-精品资料欢迎下载-名师精心整理-第 6 页,共 24 页 -C 语言程序设计7 int x,i,x1,x2,x3,x4;for(x1=1;x1=4;x1+)for(x2=1;x2=4;x2+)if(x1!=x2)for(x3=1;x3=4;x3+)if(x1!=x3&x2!=x3)x=x1*100+x2*10+x3;i+;printf(%d,x);if(i%5=0)printf(n);2编写程序,求两个整数的最大公约数和最小公倍数。#include void ma
18、in()int k,g,m,n;printf(输入两个整数:n);scanf(%d%d,&m,&n);k=mn?m:n;while(m%k!=0|n%k!=0)k-;printf(最大公约数:%dn,k);g=(m*n)/k;printf(最小公倍数:%dn,g);3.把输入的整数(最多不超过5 位)按输入顺序的相反顺序输出,例如,输入数是12345,要求输出结果是54321,编程实现此功能。#include void main()long number;int count=0;printf(输入一个整数(最多不超过5 位):);scanf(%ld,&number);if(number0)nu
19、mber=-number;do printf(%d,number%10);number=number/10;count+;while(number!=0);printf(count=%dn,count);4.求 s=a+aa+aaa+aaaa+a,a 的值,其中a 是一个数字。例如2+22+222+2222+22222(此时共 5 个数相加),几个数相加又键盘控制。#include void main()int s=0,x,n,a,i=0;printf(分别输入a 和 n:);scanf(%d%d,&a,&n);名师资料总结-精品资料欢迎下载-名师精心整理-第 7 页,共 24 页 -C 语言
20、程序设计8 x=a;while(in)s=s+x;x=x*10+a;i+;printf(s=%dn,s);5.一个数如果恰好等于它的因子之和,这个数就成为“完数”,例如 6=1+2+3。编程找出 1000以内的所有完数。#include void main()int n,i,s;for(n=1;n=1000;n+)s=0;/*注意 s=0 的位置*/for(i=1;in;i+)if(n%i=0)s=s+i;if(n=s)printf(%dn,n);7.求 1+2!+3!+,+20!的和。#include void main()int i,n;float jc,s;for(n=1;n=20;n+
21、)for(jc=1,i=1;i=n;i+)jc=jc*i;s=s+jc;printf(s=%fn,s);8.输出 100200 之间的全部素数。#include#include void main()int n,i;for(n=100;n=200;n+)for(i=2;isqrt(n)printf(%-5d,n);9.编写程序,找出1999 之间的全部同构数。同构数是这样一组数,它出现在平方数的右边,例如:5 是 25 的右边的数,25 是 625 的右边的数,5 和 25 都是同构数。#include void main()int k,m,n;for(m=4;m=1&m=10&m=100&m
22、999)k=n%1000;if(k=m)printf(%d,m);10.输入所有大于1000 小于 10000 的四位偶数,且该偶数的各位数字两两不同。#include void main()int i,x1,x2,x3,x4;for(i=1002;i10000;i+=2)x1=i/1000;x2=i/100%10;x3=i/10%10;x4=i%10;if(x1!=x2&x1!=x3&x1!=x4&x2!=x3&x2!=x4&x3!=x4)printf(%-5d,i);13.编写程序,用牛顿迭代法求x*x-a=0 的近似根。要求前后两次求出的x 的差的绝对值小于 0.00001。#inclu
23、de#include void main()float a,x0,x1,f0,f1;printf(input a,x1:);scanf(%f%f,&a,&x1);do x0=x1;f0=x0*x0-a;f1=2*x0;x1=x0-f0/f1;while(fabs(x0-x1)1e-5);printf(x=%fn,x1);6打印出如下图案#include void main()int h=4,k,j,m;for(j=1;j=2*h-1;j+)if(j=h)m=2*j-1;else m=4*h-2*j-1;for(k=1;k=m;k+)printf(*);printf(n);名师资料总结-精品资料
24、欢迎下载-名师精心整理-第 9 页,共 24 页 -C 语言程序设计10 从键盘输入h 的值,输出如下三角形,例号h=4#include void main()int h,k,j;scanf(%d,&h);for(k=1;k=h;k+)for(j=1;j=h-k;j+)printf();for(j=1;j=2*k-1;j+)printf(*);printf(n);从键盘输入h 的值,输出h 行用*号组成的菱形,例输入h=4,输出#include void main()int h,k,j,m,n;printf(input h:);scanf(%d,&h);for(j=1;j=2*h-1;j+)i
25、f(j=h)m=h-j;n=2*j-1;else m=j-h;n=4*h-2*j-1;for(k=1;k=m;k+)printf();for(k=1;k=n;k+)printf(*);printf(n);打印出所有的“水仙花数”。所谓“水仙花数”是指一个三位数,其各位数字的立方和等于该数本身。例如:153 是一个“水仙花数”,因为153=1 11+5 55+3 33。#include void main()int n,x1,x2,x3;printf(water flower number is:);for(n=100;n=999;n+)x1=n/100;x2=n/10%10;x3=n%10;i
26、f(n=x1*x1*x1+x2*x2*x2+x3*x3*x3)printf(%-4d,n);printf(n);输出 100200 之间不能被3 整除的数。名师资料总结-精品资料欢迎下载-名师精心整理-第 10 页,共 24 页 -C 语言程序设计11#include void main()int i.n;for(n=100;n=200;n+)if(n%3=0)continue;printf(“%5d”,n);第六章数组输出最大值#include void main(void)int a,b,c,max;printf(输入三个数:);scanf(%d%d%d,&a,&b,&c);max=a;i
27、f(bmax)max=b;if(cmax)max=c;printf(%d是最大数 n,max);#include void main()int x,max,n=1;scanf(%d,&x);max=x;for(n=2;nmax)max=x;printf(max=%dn,max);P150 1.编一个程序,从键盘输入10 个整数并保存到数组,求出该10 个整数的最大值,最小值和平均值。#include void main()int a10,i,max,min;float avg=0;for(i=0;i10;i+)scanf(%d,&ai);avg+=ai;avg=avg/10;max=min=a
28、0;for(i=1;imax)max=ai;if(aimin)min=ai;printf(max=%d,min=%d,avg=%fn,max,min,avg);名师资料总结-精品资料欢迎下载-名师精心整理-第 11 页,共 24 页 -C 语言程序设计12 2.编一个程序,从键盘输入10 个整数并保存到数组,;要求找出最小的数及其下标,然后把它和数组中最前面的元素对换位置。#include void main()int k=0,a10,t,i;printf(Please input data:n);for(i=0;i10;i+)scanf(%d,&ai);k=0;for(i=1;iai)k=i
29、;printf(min=%d,k=%dn,ak,k);if(k!=0)t=ak;ak=a0;a0=t;for(i=0;i10;i+)printf(%d,ai);12.在一个已经排好序(假定是升序)的整型数组中插入一个数,使之仍然有序。#include void main()int a11=1,4,7,9,12,15,17,20,21,30,x,i,p;printf(please input x:);scanf(%d,&x);for(i=0;i10;i+)if(x=p+1;i-)ai=ai-1;ap=x;for(i=0;i11;i+)printf(%d,ai);printf(n);在一个已经排好
30、序(假定是升序)的整型数组中删除一个数,使之仍然有序。#include void main()int a10=1,7,3,8,11,20,15,30,17,99,i,p,x,flag=0;printf(Input x:);scanf(%d,&x);for(i=0;i10;i+)if(x=ai)p=i;flag=1;break;if(flag=0)printf(Not foundn);if(p=9)for(i=0;i9;i+)printf(%d,ai);名师资料总结-精品资料欢迎下载-名师精心整理-第 12 页,共 24 页 -C 语言程序设计13 else for(i=p;i10;i+)ai=
31、ai+1;for(i=0;i9;i+)printf(%d,ai);读入 10 个整数存入数组,将数组中的元素逆序存放并输出。#include void main()int i,a10,t;printf(请输入 10 个整数:n);for(i=0;i10;i+)scanf(%d,&ai);for(i=0;i5;i+)t=ai;ai=a9-i;a9-i=t;printf(重新存放后的10 个整数为:n);for(i=0;i10;i+)printf(%d,ai);printf(n);3.打印杨辉三角形。1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1#inclu
32、de void main()int a66=0,i,j;for(i=0;i6;i+)ai0=1;aii=1;for(j=1;j6;j+)for(i=2;i6;i+)aij=ai-1j-1+ai-1j;for(i=0;i6;i+)for(j=0;j=i;j+)printf(%4d,aij);printf(n);4.定义 4 6 的实型数组,并将各行前五列元素的平均值分别放在同一行的第六列上。#include void main()名师资料总结-精品资料欢迎下载-名师精心整理-第 13 页,共 24 页 -C 语言程序设计14 int a46,i,j,avg4=0;for(i=0;i4;i+)fo
33、r(j=0;j5;j+)scanf(%d,&aij);avgi+=aij;for(i=0;i4;i+)avgi=avgi/5;ai5=avgi;for(i=0;i4;i+)for(j=0;j6;j+)printf(%4d,aij);printf(n);6.输入一个字符串,统计其中的单词个数。单词之间用空格隔开。#include void main()char str80;int i=0,k=0,flag=0;gets(str);while(stri!=0)if(stri-1!=32&stri=32)k+;i+;printf(k=%dn,k+1);7.判断二维数组中是否存在鞍点,若存在,则输出之
34、;否则,输出没有鞍点信息。其鞍点是这样的元素,该元素是所在行的最大元素,且是所在列的最小元素。#include void main()int a33,i,j,n3,m3;for(i=0;i3;i+)for(j=0;j3;j+)scanf(%d,&aij);for(i=0;i3;i+)for(j=0;j3;j+)printf(%4d,aij);printf(n);for(i=0;i3;i+)mi=ai0;for(j=0;j3;j+)if(miaij)mi=aij;for(j=0;j3;j+)nj=a0j;for(i=0;iaij)nj=aij;for(i=0;i3;i+)for(j=0;j3;j
35、+)名师资料总结-精品资料欢迎下载-名师精心整理-第 14 页,共 24 页 -C 语言程序设计15 if(mi=nj)printf(i=%d,j=%d,aij=%dn,i,j,aij);输入一个字符串,统计串中每个字符出现的频数.eg:bacaabcxyzx a:3 b:2 c:2 d:0 e:0,x:2 y:1 z:1 方法一:#include void main()char str80,ch;int i,k80=0,m=0;gets(str);for(ch=97;ch=122;ch+)for(i=0;i80;i+)if(stri=ch)km+;if(km!=0)putchar(ch);p
36、rintf(:%-3d,km);m+;方法二:#include void main()char s80;int i,k,count26=0;gets(s);i=0;while(si!=0)k=si-a;countk+;i+;for(k=0;k26;k+)if(k%5=0)printf(n);printf(%c:%-5d,k+97,countk);选择法排序(从小到大)#include void main()int i,k,n,t,index;int a20;printf(Enter n:n);scanf(%d,&n);printf(Enter%d integers:n,n);for(i=0;i
37、n;i+)scanf(%d,&ai);for(k=0;kn-1;k+)index=k;for(i=k+1;in;i+)if(aiaindex)index=i;t=aindex;aindex=ak;ak=t;for(i=0;in;i+)printf(%d,ai);printf(n);冒泡法排序(从小到大)#include 名师资料总结-精品资料欢迎下载-名师精心整理-第 15 页,共 24 页 -C 语言程序设计16 void main()int i,j,t,n;int a20;printf(Enter n:n);scanf(%d,&n);printf(Enter%d integers:n,n)
38、;for(i=0;in;i+)scanf(%d,&ai);for(i=0;in-1;i+)for(j=0;jaj+1)t=aj;aj=aj+1;aj+1=t;for(i=0;in;i+)printf(%d,ai);求字符数组的实际长度(第一个 0 前面的字符个数)。#include void main()int i,len=0;char s110;scanf(%s,s1);for(i=0;i10;i+)if(s1i!=0)len+;else break;printf(%d,len);串的复制#include#include void main()char str180,str280;gets(
39、str1);strcpy(str2,str1);puts(str2);串的连接方法一:#include#include void main()char str180,str280;gets(str1);gets(str2);名师资料总结-精品资料欢迎下载-名师精心整理-第 16 页,共 24 页 -C 语言程序设计17 strcat(str1,str2);puts(str1);方法二:#include void main()char str180,str280;int i=0,k=0;gets(str1);gets(str2);while(str1i)i+;while(i=a&ch=z)ch=
40、ch-32;return(ch);#include void main()char c;scanf(%c,&c);c=change(c);printf(%cn,c);2.编写函数reverse(int number),它的功能是将number 逆序输出,在主函数中输入一个整数并调用该函数。例如,reverse(11233)的返回值是33211。无返回值的方法:#include void reverse(int number);void main()int x;scanf(%d,&x);reverse(x);void reverse(int number)名师资料总结-精品资料欢迎下载-名师精心
41、整理-第 17 页,共 24 页 -C 语言程序设计18 do printf(%d,number%10);number=number/10;while(number);有返回值的方法:#include int reverse(int number,int b);void main()int x,a10,n,i;scanf(%d,&x);n=reverse(x,a);for(i=0;in;i+)printf(%d,ai);int reverse(int number,int b)int k=0;do bk=number%10;k+;number=number/10;while(number);r
42、eturn k;4.编写一个函数sort,实现数组元素的升序(或降序)排列。#include#define N 5 void sort(int b,int n);void main()int aN,i;for(i=0;iN;i+)scanf(%d,&ai);sort(a,N);void sort(int b,int n)int i,j,t,index;for(i=0;in-1;i+)index=i;for(j=i+1;jn;j+)if(bjbindex)index=j;t=bindex;bindex=bi;bi=t;名师资料总结-精品资料欢迎下载-名师精心整理-第 18 页,共 24 页 -C
43、 语言程序设计19 for(i=0;in;i+)printf(%d,bi);printf(n);5.编写函数,统计输入字符串中各个字母出现的次数,其中大小写字母作为同一字母处理,如字母 A 和 a 出现的次数需累加。#include void amount(char str);void main()char s80;gets(s);amount(s);void amount(char str)int k,i=0,count26=0;while(stri!=0)if(stri=A&stri=a&stri=z)k=stri-a;countk+;i+;for(i=0;i26;i+)if(i%5=0)
44、printf(n);printf(%c(%c):%-5d,i+97,i+65,counti);6.编写函数substring(char s,char sub),查找字符串sub 在字符串 s 中第一次出现的下标位置。#include int substring(char s,char sub);void main()char s180,s280;int z;gets(s1);gets(s2);z=substring(s1,s2);printf(z=%dn,z);int substring(char s,char sub)int k,i,j,flag=0;for(j=0;sj!=0;j+)if(
45、sub0=sj)k=j;flag=1;break;i=0;while(subi)if(subi+=sj+)flag=1;else flag=0;break;名师资料总结-精品资料欢迎下载-名师精心整理-第 19 页,共 24 页 -C 语言程序设计20 if(flag=1)return(k);7.编写函数insert(char s1,char s2,int pos),实现字符串搜中指定位置pos 处插入字符串s2.#include void insert(char s1,char s2,int pos);void main(void)int str180,str280,k;gets(str1)
46、;gets(str2);scanf(%d,&k);insert(str1,str2,k);void insert(char s1,char s2,int pos)int i=0,j=0,k;while(s1i)i+;while(s2j)j+;for(k=i-1;k=pos;k-)s1k+j=s1k;k=0;while(kj)s1pos+=s2k+;s1i+j=0;puts(s1);输入一列数,编写程序,将最大数与最后一个数交换,最小数与第一个数交换。#include void change(int a,int n);void main()int b10,i;for(i=0;i10;i+)sca
47、nf(%d,&bi);change(b,10);for(i=0;i10;i+)printf(%d,bi);printf(n);void change(int a,int n)int i,t,k=0,p=0;for(i=1;in;i+)if(akai)p=i;t=ak;ak=an-1;an-1=t;t=ap;ap=a0;a0=t;名师资料总结-精品资料欢迎下载-名师精心整理-第 20 页,共 24 页 -C 语言程序设计21 编写一个函数,实现判断一个单词是不是回文单词。回文指的是单词按从前到后与从后到前的顺序读都相同,例如“level”就是一个回文单词。#include#include int
48、 letter(char str,int len);void main()char s80;int result,l;gets(s);l=strlen(s);result=letter(s,l);if(result=1)printf(它是回单词!n);else printf(它不是回单词!n);int letter(char str,int len)int flag=1,i;for(i=0;ilen;i+)if(stri!=strlen-i-1)flag=0;break;return(flag);第八章指针两数交换#include void swap(int*p1,int*p2);void m
49、ain()int a,b;scanf(%d%d,&a,&b);swap(&a,&b);printf(a=%d,b=%dn,a,b);void swap(int*p1,int*p2)int t;t=*p1;*p1=*p2;*p2=t;求串长#include void main()char s80,*p=s;int len=0;scanf(%s,s);while(*p!=0)p+;len=p-s;名师资料总结-精品资料欢迎下载-名师精心整理-第 21 页,共 24 页 -C 语言程序设计22 printf(len=%dn,len);#include int len(char*ps);void ma
50、in()char str120=123456;int l1,l2;l1=len(str1);l2=len(good night);printf(l1=%d,l2=%dn,l1,l2);int len(char*ps)int n=0;while(*ps!=0)n+;ps+;return n;字符串的连接#include void main()char str180,str280,*p1,*p2;p1=str1;p2=str2;gets(p1);gets(p2);while(*p1!=0)p1+;for(;*p2!=0;p2+,p1+)*p1=*p2;*p1=0;puts(str1);字符串的复制