c语言raverage加r的作用,C语言惯用法熟记(2)

《C语言惯用法熟记(2)》由会员分享,可在线阅读,更多相关《C语言惯用法熟记(2)(7页珍藏版)》请在人人文库网上搜索。

1、有一个含 10 个元素的数组,先输入 9 个按从小到大顺序排好的数据存入数组,再输入一个 数, 要求按原来排序的规律将它插入数组中。 int a10, i,j, x; for(i=0; i9;i+) scanf(%d, scanf(%d, for(i=0;ix) break; if(i!=9) for(j=8; j=i; j-)/从最后元素开始到ai aj+1=aj;/向后移动一个位置 ai=x; for(i=0; i10;i+) scanf(%d , ai); 输入两个实数,用一个函数求出它们的平均。 #include int main() float average(float x, fl。

2、oat y); float a,b,c; scanf(%f,%f, c=average(a,b); printf( 平均 =%.3fn,c); return 0; float average(float x,float y) float z; z=(x+y)/2; return z; 写一个判断素数的函数 int isprime( int n) / 判断 n 是否素数 , 是返回 1, 不是返回 0 int i; for(i=2; in/2)return 1; else return 0; int main() int n; scanf(%d, if( isprime(n) ) puts(pr。

3、ime); else puts (not prime); return 0 用递归方法求n! #include int main() int fac(int n); int n; int y; scanf(%d, y=fac(n); printf(%d!=%dn,n,y); return 0; int fac(int n) int f; if( n=1) f=1; else f=fac(n-1)*n; return f; 用函数交换两个变量的值 #include int main() void swap(int *p1,int *p2); int a, b, *pt1, *pt2; scanf。

4、( “ %d,%d” , pt1= pt2= swap(pt1,pt2); / 也可以 swap( printf( “ a=%d,b=%n”d ,a,b); return 0; void swap(int *p1,int *p2) int temp; temp=*p1; *p1=*p2; *p2=temp; 编写一函数,计算两个实数的加减 , 在主函数输出结果 (不使用全局变量 ) #include int main() void function(float n1, float n2, float *p1, float *p2); float x,y,a,b; /x,y存输入数据,a,b存函。

5、数的2个结果 scanf( %f,%f, function(x,y , /将a,b的地址(指针)传递过去 printf(x+y=%f,x-y=%fn, a,b ); return 0; /调用时 , p1 指向 a, p2 指向 b void function(float n1, float n2, float *p1, float *p2) *p1=n1+n2; / 存入 p1 所指向的变量中 (主函数的 a) *p2=n1-n2;/存入 p2 所指向的变量中 (主函数的 b) 通过指针变量快速输入输出累加整型数组 a 的 10个元素。 #include int main() int *p,。

6、 i, sum, a10; /p+ 使 p 指向下一个元素 ,p); /p 是 ai 的地址 a0 p=a; /p 指向 a0 ( 一维数组名是指向首元素的指针常量 ) printf( “ enter 10 integer numbenrs):; for(i=0;i10;i+,p+) scanf( “ %d” p=a; /p 重新指向 for(i=0;i10;i+,p+) printf( “ %n”d ,*p); /p 指向 ai, *p 就是 ai for(p=a,sum=0,i=0; i10; i+,p+) sum+=*p; printf( “ sum=%n“d , sum); retur。

7、n 0; (指针法 ) /函数声明 /函数声明 用函数实现数组输入输出统计 #include int main() void input( float *p); void output( float *p); float average( float *p); / 函数声明 float score10, aver; input(score); / 输入成绩 , 实参是数组名 output( score ); /输出成绩 , 实参是数组名 aver=average(score); / 平均成绩 , 实参是数组名 printf(aver=%fn, aver); return 0; void inp。

8、ut(float *p) / 指针法 形参定义为指针变量 , p 指向 score0 int i; for(i=0; i10; i+, p+)scanf(%f, p); void output(float *p) / 指针法 形参定义为指针变量 , p 指向 score0 int i; printf(%fn, *p); for(i=0; i10; i+, p+) 形参定义为指针变量 float average(float *p) / 指针法 int i;float sum=0; sum+=*p; for(i=0; i10; i+,p+) return sum/10; 用函数调用实现字符串的复制。

9、。 ( 用字符指针变量作函数形参 ) int main() void copy_string(char *to, char *from); n”,a,b); char *a= “ I am a teacher b2”0,; /a 串用字符指针形式 copy_string(b, a); printf( “ a=%s return 0; void copy_string(char *to char *from) for( ;*from!=0; from+,to+) *to=*from; *to=0; 定义一个学生结构变量,输入,输出 #include int main( ) struct stud。

10、ent int num; char name20; ; struct student s; printf(enter num name:); scanf(%d%s, printf(num=%d name=%sn, s.num, s.name); return 0; 定义一个学生结构数组,输入,输出 int main() struct student int num; char name20; struct student s10; int i; /s 的每个元素都是结构体变量 for(i=0; i10; i+) printf(enter num name:); scanf(%d%s, for(。

11、i=0; i10; i+) printf(num=%d name=%sn, si.num, si.name); 用函数实现结构体变量的输入,输出 #include /定义全局结构名 struct student int num; char name20; ; int main() struct student s; void input( struct student *p); void display( struct student s); input( / 实参是指针 display(s);/ 实参是变量 return 0; void input( struct student *p) p。

12、rintf(enter num name:); scanf(%d%s, void display( struct student s) printf(num=%d name=%sn, s.num, s.name); 用函数实现结构数组的输入,输出 #include /全局结构名 struct student int num; char name20; ; int main() struct student s10; input( s,10); display(s,10); return 0; void input( struct student *p,int n) int i; for(i=0。

13、; inum,p-name); void display( struct student *p,int n) for( ; n0 ; n-,p+) printf(num=%d name=%sn, p-num, p-name); 建立并写文本数据文件 #include main() struct student int num;char name20; ; struct student s; int i; FILE *fp; fp=fopen(C:DA TASTUDENT.TXT,w); if(!fp) printf(Create file error!n); return; for(i=0; 。

14、i5; i+) printf(enter num name:); scanf(%d%s, fprintf(fp, %d %sn, s.num,s.name); fclose(fp); 打开并读文本数据文件 #include main() struct studentint num; char name20; struct student s; int i; FILE *fp; fp=fopen(c:dataSTUDENT.TXT,r); if(!fp) puts(err); return; while( 1) fscanf(fp,%d%s, if(feof(fp) break; printf(%d %sn,s.num,s.name); fclose(fp);。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值