《C语言入门到中等难度学习资料.docx》由会员分享,可在线阅读,更多相关《C语言入门到中等难度学习资料.docx(20页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、C 语言复习资料1.长方形的面积#include main()double a,b,area;a=1.2;b=3.6;area=a*b;printf(a=%f,b=%f,are=%fn,a,b,area);2.圆的面积#include stdio.h#define PI 3.14159main()double r,s;r=5.0;s=PI*r*r;printf(s=%fn,s);3.圆柱的体积#include stdio.h#define PI 3.14159main()double r,h,v;float a,b,c;int i,j,k;r=3;h=5;v=PI*r*r*h;printf(v
2、=%3.1fn,v);a=3;b=5;c=PI*a*a*b;printf(c=%3.1fn,c);i=3;j=5;k=PI*i*i*j;4.printf(k=%dn,k);求二次函数的两个根#include#include int main()double a,b,c,disc,x1,x2,p,q;scanf(%lf%lf%lf,&a,&b,&c),disc=b*b-4*a*c;p=-b/(2.0*a);q=sqrt(disc)/(2.0*a);x1=p+q,x2=p-q;printf(x1=%7.2fnx2=%7.2fn,x1,x2);return 0;5.交换 x 和 y#include
3、main()int x,y,t;scanf(%d%d,&x,&y);printf(x=%dy=%dn,x,y);t=x;x=y;y=t;printf(x=%dy=%dn,x,y);6.作业#include main()int x1,x2,x3;float a1,a2,a3;doubleb1,b2,b3;char y1,y2,y3;printf(学号:20140722,姓名:舒磊,班级:通信一班);scanf(%d%d%d,&x1,&x2,&x3);printf(x1=%d,x2=%d,x3=%dn,x1,x2,x3);scanf(%f,%f,%f,&a1,&a2,&a3);printf(a1=
4、%2.0f,a2=%2.0f,a3=%2.0fn,a1,a2,a3);scanf(%lf,%lf,%lf,&b1,&b2,&b3);printf(b1=%2.0f,b2=%2.0f,b3=%2.0fn,b1,b2,b3);scanf(%c%c%c,&y1,&y2,&y3);printf(y1=%c,y2=%c,y3=%cn,y1,y2,y3);7.把 560 分钟换算成用小时和分钟表示,然后进行输出#include main()int i,k,m,n;i=560;k=60;m=i/k;n=i-m*k;printf(m=%1.0d 小时,n=%2.0d 分钟n,m,n);8.输入两个整数:150
5、0 和 350,求出它们的商和余数并进行输出#include main()int a,b,j,k;scanf(%d%d,&a,&b);j=a/b;k=a%b;printf(商 j=%1.0d,余数k=%1.0dn,j,k);9.三个数求平均值#include main()double a,b,c,d;scanf(%lf%lf%lf,&a,&b,&c);d=(a+b+c)/3;printf(a=%lf,b=%lf,c=%lf,d=%2.1lfn,a,b,c,d);10.三个数互相交换,然后输出#include main()int a,b,c,t;scanf(%d%d%d,&a,&b,&c);pr
6、intf(a=%db=%dc=%dn,a,b,c);t=c;c=b;b=a;a=t;printf(a=%d,b=%d,c=%dn,a,b,c);11.四舍五入保留两位小数#include main()double a;scanf(%lf,&a);printf(a=%lfn,a);a=a*100;a=a+0.5;a=(int)a;a=a/100;printf(a=%lfn,a);12.ab 交换#include main()float a,b,t;scanf(%f%f,&a,&b);if(ab)t=a;a=b;b=t;printf(%5.2f,%5.2fn,a,b);13.把三位数拆开#incl
7、ude main()int x,y,z,f,d;printf(请输入一个三位数:n);scanf(%d,&x);printf(%dn,x);y=x/100;z=x/10;f=z%10;d=x%10;printf(%dn,y);printf(%dn,f);printf(%dn,d);14.三个数从小到大排列#includemain()float a,b,c,t;printf(请输入三个数:n);scanf(%f,%f,%f,&a,&b,&c);if(ab)t=a,a=b,b=t;if(ac)t=a,a=c,c=t;if(bc)t=b,b=c,c=t;printf(%5.2f,%5.2f,%5.2
8、fn,a,b,c);15.两个数,输出较大的#include main()int x,y;printf(请输入两个整数 x、y:n);scanf(%d%d,&x,&y);printf(x,y:%d%dn,x,y);if(xy)printf(x=%dn,x);if(yx)printf(y=%dn,y);if(x=y)printf(x=y%dn,x);#includemain()int x,y;printf(请输入两个数 x、y:n);scanf(%d%d,&x,&y);printf(x,y:%dn,x,y);if(xy)printf(max=x=%dn,x);elseprintf(max=y=%
9、dn,y);printf(*end*n);16.给学生成绩划分等级#include main()int g;printf(请输入学生成绩:n);scanf(%d,&g);printf(g=%d:,g);if(g=90)printf(An);else if(g=80)printf(Bn);else if(g=70)printf(Cn);else if(g=60)printf(Dn);else printf(En);#include main()int g;printf(请输入学生成绩:n);scanf(%d,&g);printf(g=%d:,g);switch(g/10)case 10:case
10、 9:printf(An);case 8:printf(Bn);case 7:printf(Cn);case 6:printf(Dn);default:(En);#include main()int g;printf(请输入学生成绩:n);scanf(%d,&g);printf(g=%d:,g);switch(g/10)case 10:case 9:printf(An);break;case 8:printf(Bn);break;case 7:printf(Cn);break;case 6:printf(Dn);break;default:(En);17.大写字母转换成小写字母#include
11、main()char ch;printf(请输入一个字母:n);scanf(%c,&ch);ch=(ch=A&ch=Z)(ch+32):ch;printf(%c,ch);18.两数判断大小#include main()int x,y;printf(请输入 x 和 y:n);scanf(%d%d,&x,&y);if(x!=y)if(xy)printf(XYn);elseprintf(XYn);elseprintf(X=Yn);19.100 以内的奇数#includemain()int i=1;while(i=100)printf(%d,i);i+=2;printf(n);20.300 以内能被
12、17 整除的最大数#includemain()int x;x=300;while(x=1)if(x%17=0)break;x-;printf(x=%dn,x);21.1100 的累加#includemain()int i,n;i=1;n=0;while(i=100)n=n+i;i+;printf(1+2+.+100=%dn,n);22.300 以内能被 5 同时被 7 整除的do-while 型#includemain()int x;x=1;doif(x%5=0&x%7=0)printf(%d,x);x+;while(x=300);23.求 12+22+n2,直到累加和大于等于 10000 为
13、止#includemain()int i,sum;i=0;sum=0;while(sum10000)sum+=i*i;i+;printf(n=%d sum=%dn,i-1,sum);#includemain()int i,sum;i=0;sum=0;dosum+=i*i;i+;while(sum10000);printf(n=%d sum=%dn,i-1,sum);24.用/4=1-1/3+1/5-1/7+1/9-公式求的值,最后一项小于 10 的-6 次方为止#include#includemain()int s;float n,t,pi;t=1.0;pi=0;n=1.0;s=1;while
14、(fabs(t)=1e-6)pi=pi+t;n+=2.0;s=-s;t=s/n;pi=pi*4;printf(pi=%fn,pi);#include#includemain()int s;float n,t,pi;t=1.0;pi=0;n=1.0;s=1;dopi=pi+t;n+=2.0;s=-s;t=s/n;while(fabs(t)=1e-6);pi=pi*4;printf(pi=%fn,pi);25.300 以内能被 5 和 7 同时整除的所有数#includemain()int x;x=300;while(x0)if(x%5=0&x%7=0)printf(%d,x);x-;26.输入整
15、数 并判断奇偶性#includemain()int x;printf(请输入一个数:n);scanf(%d,&x);if(x%2=0)printf(偶数);elseprintf(奇数);27.输入三个数,打印最大者#include main()int a,b,c,t;printf(请输入三个数 a b c:n);scanf(%d%d%d,&a,&b,&c);printf(a=%d,b=%d,c=%dn,a,b,c);if(ab)t=a;a=b;b=t;if(ac)t=a;a=c;c=t;if(bc)t=b;b=c;c=t;printf(max=%dn,c);28.49 页的 4.25#incl
16、udemain()int x,y;printf(请输入 x:n);scanf(%d,&x);if(-5x&x0)y=x;if(x=0)y=x-1;if(0 x&x10)y=x+1;printf(y=%dn,y);y=x-1;if(x!=0)if(-5x&x0)y=x;elsey=x+1;printf(y=%dn,y);if(-5x&x0)y=x;elseif(0 x&x10)y=x+1;elsey=x-1;printf(y=%dn,y);switch(x)case-5:case-4:printf(y=-4);break;case-3:printf(y=-3);break;case-2:prin
17、tf(y=-2);break;case-1:printf(y=-1);break;case 0:printf(y=-1);break;case 1:printf(y=2);break;case 2:printf(y=3);break;case 3:printf(y=4);break;case 4:printf(y=5);break;case 5:printf(y=6);break;case 6:printf(y=7);break;case 7:printf(y=8);break;case 8:printf(y=9);break;case 9:printf(y=10);break;default
18、:printf(无解);29.求学生的年龄#includemain()int y0,m0,d0,y1,m1,d1,age;printf(请输入学生的生日和当前日期:n);scanf(%d,%d,%d,%d,%d,%d,&y0,&m0,&d0,&y1,&m1,&d1);age=y1-y0;if(m1m0)age=age-1;if(m1=m0&d1d0)age=age-1;printf(age=%dn,age);30.报数输出 3 的倍数#includemain()int i;i=1;while(i=38)if(i%3=0)printf(%dn,i);i+;31.国王谷粒数#include#inc
19、lude main()double a,b;printf(请输入格子数:n);scanf(%lf,&b);a=2;printf(%3.0lf%3.0lf该格内谷粒数:%3.0lfn,a,b-1,pow(a,b-1);32.计算 s=1+2+3+i,直到累加到 s 大于 5000 为止,并给出 s 和 i#includemain()int k,i,j;for(i=0;i4;i+)for(k=1;k=i;k+)printf();for(j=0;j7-i*2;j+)printf(*);printf(n);33.使用双层 for 循环打印如下由星号组成的倒三角形图*#includemain()int
20、k,i,j;for(i=0;i4;i+)for(k=1;k=i;k+)printf();for(j=0;j7-i*2;j+)printf(*);printf(n);33.打印以下图形*#includemain()int k,i,j;for(i=0;i4;i+)for(j=0;j3-i;j+)printf();for(k=0;k1+i*2;k+)printf(*);printf(n);for(i=1;i4;i+)for(k=1;k=i;k+)printf();for(j=0;j7-i*2;j+)printf(*);printf(n);34.找出 2100 内的所有质数、素数#include#in
21、cludemain()int k,i,tag;printf(2,);for(i=3;i=100;i+=2)tag=0;for(k=2;tag=0&ksqrt(i);k+)if(i%k=0)tag=1;if(tag=0)printf(%d,i);#includemain()int k,i,tag;for(i=2;i=100;i+)tag=0;for(k=2;ki;k+)if(i%k=0)tag=1;if(tag=0)printf(%d,i);35.计算 1-3+5-7+.-99+101 的值#includemain()int a,b,t;b=0;t=1;for(a=1;a=101;a+=2)b=
22、b+a*t;t=-t;printf(1-3+5-7+.-99+101=%d,b);36.9 乘 9 的乘法#includemain()int a,b;for(a=1;a=9;a+)for(b=1;b=9;b+)printf(%d*%d=%d,a,b,a*b);printf(n);37.在循环体中 continue 语句执行实例#includemain()int k=0,s=0,i;for(i=1;i5)printf(*i=%d,s=%d,k=%dn,i,s,k);continue;k=k+s;printf(i=%d,s=%d,k=%dn,i,s,k);38.学生捐款求平均数#include#d
23、efine SUM 100000main()float amount,aver,total;int i;for(i=1,total=0;i=SUM)break;aver=total/i;printf(nun=%d,naver=%10.2fn,i,aver);39.100 到 200 以内不能被 3 整除的数#includemain()int n;for(n=100;n=200;n+)if(n%3=0)continue;printf(%d,n);40.从输入的若干个大于零的正整数中选出最大值,用-1 结束输入#includemain()int x,max;doprintf(请输入 x:);sca
24、nf(%d,&x);while(x0&xmax)max=x;if(max!=-1)printf(max=%dn,max);41.用矢代法求某数 a 的平方根。#include#includemain()float a,x0,x1;printf(请输入 a:n);scanf(%f,&a);/*输入一个数 a*/if(a0*/x0=a/2;x1=(x0+a/x0)/2;do/*x0!=a/2*/x0=x1;x1=(x0+a/x0)/2;while(fabs(x0-x1)1e-6);/*误差大于1e-6*/printf(sqrt(%f)=%f 标准sqrt(%f)=%fn,a,x1,a,sqrt(a
25、);42.求 e 的值#includemain()double e=1,k=1,i;for(i=1;i50;i+)k=k*i;e=e+1/k;printf(e=%3.5lfn,e);#includemain()double e=1,k=1,i=1;while(1/k=1e-6)e=e+1/k;i+;k=k*i;printf(e=%3.5lfn,e);43.输出从 2000 年到 3000 年所有闰年的年号,满足的条件是(1)公元年数能被 4 整除,而不能被 100 整除,则是闰年(2)公元年数能被 400 整除的也是闰年#includemain()int i,k;for(i=2000;i=30
26、00;i+)if(i%100=0)&(i%400=0)|(i%100!=0)&(i%4=0)printf(%d,i);printf(是闰年);44.输入 10 个字符输出 10 个字符#includemain()int i;char a;printf(从键盘上输入一个字符:);for(i=0;i10;i+)a=getchar();putchar(a);45.输出 26 个大写字母和它们的 ASCII代码,每行输出两组数据#includemain()char ch;int i;for(i=0;i26;i+)ch=i+65;if(i%2=0)printf(n);printf(c=%cASCII=%
27、d,ch,ch);putchar(n);46.输出26个小写字母和它们的ASCII代码,每行输出两组数据#includemain()char ch;int i;for(i=0;i26;i+)ch=i+97;if(i%4=0)printf(n);printf(c=%cASCII=%d,ch,ch);putchar(n);47.以下程序段等待从终端输入一个字符,当按 Enter 键时,程序才往下继续进行#includemain()char c;for(;(c=getchar()!=n;)if(c=a&c=z)c=c-a+A;putchar(c);putchar(n);48.三个数找最大的#incl
28、udeint max(int x1,int x2,int x3)/形参/*定义函数的返回值类型/int max;if(x1x2)max=x1;elsemax=x2;if(maxx3)max=x3;/*通过比较得到三个数的最大值放到 max 中/returnmax;/int max(int x1,int x2,int x3);/函数说明main()int a,b,c,max1;scanf(%d%d%d,&a,&b,&c);printf(a=%d,b=%d,c=%d,a,b,c);max1=max(a,b,c);/实参printf(max=%d,max1);#includeint max(int
29、x1,int x2,int x3);/函数说明main()int a,b,c,max1;scanf(%d%d%d,&a,&b,&c);printf(a=%d,b=%d,c=%d,a,b,c);max1=max(a,b,c);/实参printf(max=%d,max1);int max(int x1,int x2,int x3)/形参/*定义函数的返回值类型/int max;if(x1x2)max=x1;elsemax=x2;if(maxx3)max=x3;/*通过比较得到三个数的最大值放到 max 中/returnmax;49.通过调用 swap 函数,把主函数中变量 x 和 y 中的数据进行
30、交换#includevoid swap(int,int);main()int x=10,y=20;printf(1)x=%dy=%dn,x,y);swap(x,y);printf(4)x=%dy=%dn,x,y);void swap(int a,int b)int sum;printf(2)a=%db=%dn,a,b);sum=a+b;a=sum-a;b=sum-b;printf(3)a=%db=%dn,a,b);50.编写函数 isprime(int a),用来判断自变量 a 是否为素数。若是素数,函数返回整数 1,否则返回 0#includeint isprime(int);main()i
31、nt x;printf(请从键盘上输入一个数:);scanf(%d,&x);if(isprime(x)printf(%d 是素数,x);elseprintf(%d 不是素数,x);int isprime(int a)int i;for(i=2;ix/2。#includeint isprime(int);void even(int);main()int a;printf(请输入一个数);scanf(%d,&a);if(a%2=0)even(a);else printf(The%d isnt evennumbern,a);void even(int x)int i;for(i=2;i=x/2;i+
32、)if(isprime(i)if(isprime(x-i)printf(%d=%d+%dn,x,i,x-i);return;int isprime(int a)int b;for(b=2;b=a/2;b+)if(a%b=0)return 0;return 1;52.输入一行字符,输出每个字符以及与之对应的 ASCII 代码值,每行输出三对。#include main()char c;int i=1;printf(请输入一行字符:);while(c=getchar()!=n)printf(%c,%d,c,c);if(i%3=0)printf(n);i+;53.输入一行数字字符,每个数字字符的前后
33、都有空格。请编程,把这一行中的数字转换成一个整数。例如,若输入 2483.#include main()char ch;int n=0;while(ch=getchar()!=n)if(ch=0&ch=9)n=n*10+ch-0;printf(%d,n);54.统计输入的行数,用!号结束输入,!号所在行不计入行数。#includemain()char ch;int n=0;while(ch=getchar()!=!)if(ch=n)n+;printf(行数为:%dn,n);55.统计输入的一行中小写字母的个数#includemain()char ch;int n=0;while(ch=getc
34、har()!=n)if(ch=a&ch=z)n+;printf(小写字母个数为:%d,n);56.输出一下图案的程序,图案的行数由输入的整数值确定#includemain()char ch;int i,j,k,L,n;printf(请输入行数 L:);scanf(%d,&L);for(i=1;i=i;k-)putchar();for(j=1;j=n;j+)putchar(ch);putchar(n);57.指针交换 a,b#includemain()int a,b,*p,*p1,*p2;printf(请输入 a,b:);scanf(%d%d,&a,&b);p1=&a;p2=&b;if(ab)p
35、=p1;p1=p2;p2=p;printf(a=%d,b=%dn,a,b);printf(*p1=%d,*p2=%dn,*p1,*p2);printf(*p1=%d,*p2=%dn,&*p1,&*p2);58.指针输出最大数#includeint*max(int,int);main()int a,b,*p;printf(请输入 a,b:);scanf(%d%d,&a,&b);p=max(a,b);printf(max=%d,*p);int*max(int x,int y)if(xy)return(&x);elsereturn(&y);59.指针传地址交换两数#includeswap(int*,
36、int*);main()int a,b,*p1,*p2;printf(请输入 a,b:);scanf(%d%d,&a,&b);p1=&a;p2=&b;if(ab)swap(p1,p2);printf(%d,%dn,a,b);swap(int*pa,int*pb)int p;p=*pa;*pa=*pb;*pb=p;60.指针传值交换两数#includemain()int a,b;printf(请输入 a,b:);scanf(%d,%d,&a,&b);if(ab)swap(a,b);printf(%d,%dn,a,b);swap(int pa,int pb)int p;p=pa;pa=pb;pb=
37、p;61.调用 swap 函数,交换主函数中变量x 和 y 中的数据#includeswap(int*,int*);main()int x=30,y=20;printf(1)x=%dy=%dn,x,y);swap(&x,&y);printf(4)x=%dy=%dn,x,y);swap(int*a,int*b)int t;printf(2)a=%db=%dn,*a,*b);t=*a;*a=*b;*b=t;printf(3)a=%db=%dn,*a,*b);62.编写函数 order(int*a,int*b),使调用函数中的第一个实参总是存放两个数中的较小的数,第二个参数存放两个数中较大的数#in
38、cludevoid swap(int*x1,int*x2)int t;t=*x1;*x1=*x2;*x2=t;void order(int*a,int*b)if(*a*b)swap(a,b);main()int x,y;printf(请输入 x,y:);scanf(%d%d,&x,&y);printf(x=%dy=%dn,x,y);order(&x,&y);printf(x=%dy=%dn,x,y);63.把主函数中变量i和j中存放较大数的那个地址作为函数值传回#includeint*fun(int*,int*);main()int*p,i,j;printf(请输入两个数:);scanf(%d
39、%d,&i,&j);p=fun(&i,&j);printf(i=%d,j=%d,*p=%d,i,j,*p);int*fun(int*a,int*b)if(*a*b)return a;return b;64.编写函数,根据整型形参 n 的值,计算如下公式的值:1-1/2+1/3-1/4+1/5.1/n#includedouble fun(int n)double s=1.0;int i,t=1;for(i=2;i=n;i+)t=-t;s=s+t*1.0/i;return s;main()int n;printf(请输入 n:);scanf(%d,&n);printf(n=%d,1-1/2+1/3
40、-1/4+.=%lfn,n,fun(n);65.编写函数,根据整型形参 m 的值,计算如下公式的值:t=1-1/2*2-1/3*3-.-1/m*m#includedouble fun(int m)double a,t=1.0;int i;for(i=2;i=m;i+)a=i*i;t=t-1/a;return t;main()int m;printf(请输入 m:);scanf(%d,&m);printf(m=%dt=1-1/2*2-1/3*3-.=%lfn,m,fun(m);数组66.拉契数列前 15 项#includemain()int f15=1,1;int i;for(i=2;i15;i
41、+)fi=fi-1+fi-2;for(i=0;i15;i+)if(i%8=0)printf(n);printf(%12d,fi);67.10 个数按顺序和逆序排列#includemain()int i,a10;for(i=0;i10;i+)ai=10*(i+1);printf(n);for(i=0;i=0;i-)printf(%d,ai);68.定义一个含有 30 个元素的 int 类型数组,依次给数组元素赋奇数 1、3、5、,然后按每行 10 个数顺序输出,最后再按每行 10 个数逆序输出(指针法)#includemain()int s30,i,k=1,*p=s;for(i=0;i30;i+
42、)pi=k;k+=2;for(i=0;i=0;i-)printf(%3d%c,pi,(i%10=0)n:);printf(n);69.请编写函数,对传送过来的三个数选出最大数和最小数,并通过形参传回调用函数#includeswap(int*x1,int*x2)int t;t=*x1;*x1=*x2;*x2=t;order(int*a,int*b,int*c)if(*a*b)swap(a,b);if(*a*c)swap(a,c);if(*b*c)swap(b,c);main()int x,y,z;printf(请输入 x,y,z:);scanf(%d%d%d,&x,&y,&z);printf(x
43、=%d,y=%d,z=%dn,x,y,z);order(&x,&y,&z);printf(max=%d,min=%dn,z,x);70.请编写函数,其功能是对传送过来的两个浮点数求出和值与差值,并通过形参传送回调用函数#includedouble fun(double a,double b,double*p1,double*p2)*p1=a+b;*p2=a-b;return a;return b;return*p1;return*p2;main()double a,b;printf(请输入 a 和 b:);scanf(%lf%lf,&a,&b);fun(a,b,&a,&b);printf(和=
44、%lf,差=%lf,a,b);71.求数组元素中的素数之和#include#includemain()int a10,i,sum=0;int prime(int x);printf(请输入 10 个数:);for(i=0;i10;i+)scanf(%d,&ai);if(prime(ai)sum+=ai;printf(sum=%dn,sum);int prime(int x)int f=1,k;if(x=1)f=0;for(k=2;k=sqrt(x);k+)if(x%k=0)f=0;break;return(f);#include#include#includemain()int a10,i,s
45、um=0;int prime(int x);printf(请输入 10 个数:);for(i=0;i10;i+)/scanf(%d,&ai);ai=rand()%100;for(i=0;i10;i+)printf(a%d=%dn,i,ai);for(i=0;i10;i+)if(prime(ai)sum+=ai;printf(sum=%dn,sum);int prime(int x)int f=1,k;if(x=1)f=0;for(k=2;k=sqrt(x);k+)if(x%k=0)f=0;break;return(f);72.编写函数,对具有 10 个元素的 char类型数组,从下标为 4 的
46、元素开始,全部设置星号“*”,保持前 4 个元素中的内容不变#include#define M 10#define B 4setstar(char*,int);arrout(char*,int);main()charcM=A,B,C,D,E,F,G,H,I,J;setstar(&c0,B);arrout(c,M);setstar(char*a,int n)int i;for(i=0;in;i+)*(a+i)=*;arrout(char*a,int n)int i;for(i=0;in;i+)printf(%c,ai);printf(n);73.求和#includeint f(int b,int
47、 m,int n)int i,s=0;for(i=m;in;i+=2)s=s+bi;bi=bi*bi;return s;return bi;main()int x,a=1,2,3,4,5,6,7,8,9;x=f(a,3,7);printf(%d%dn,x,a);74.将数组中的数按颠倒的顺序重新存放。在操作时,只能借助一个临时的储存单元而不得另外开辟数组#include#define NUM8void invert(int*,int);void priout(int*,int);main()int aNUM=10,20,30,40,50,60,70,80;printf(Output prima
48、ry data:);priout(a,NUM);invert(a,NUM);printf(Output the inverse date:);priout(a,NUM);void priout(int s,int n)int i;for(i=0;in;i+)printf(%4d,si);printf(n);void invert(int*a,int n)int i,j,t;i=0;j=n-1;while(ij)t=ai;ai=aj;aj=t;i+;j-;75.已知整型数组中的值在 09 的范围内,统计每个整数的个数#include#include#define M50#define N10vo
49、id getdata(int*s)int i;for(i=0;iM;i+)si=rand()%10;void stat(int*a,int*c)int i;for(i=0;iN;i+)ci=0;for(i=0;iM;i+)cai+;void outdata(int*c)int i;for(i=0;iN;i+)printf(%d:%dn,i,ci);main()int aM,cN;getdata(a);stat(a,c);printf(Output the result:n);outdata(a);76.已知存放在 a 数组中的数不重复,在数组a中查找和x相同的元素的位置#include#def
50、ine NUM 30int arrin(int*a)int i,n;doprintf(Enter number ofelements,0=n&d:,NUM);scanf(%d,&n);while(n=NUM);printf(Enter%d integernumbers:n,n);for(i=0;in;i+)scanf(%d,a+i);return n;int search(int*a,int x,int n)int i,p;i=0;an=x;while(x!=ai)i+;if(i=n)p=-1;else p=i;return p;main()int aNUM,x,n,p;n=arrin(a);