c语言编程练习(一)

来源:互联网 发布:淘宝uujuly品牌女装 编辑:程序博客网 时间:2024/06/10 10:52
/* *文件中有一组整数,要求排序后输出到另一个文件中 *author:jxb *date:2015\4\3 */#include <string.h>#include <stdio.h>#include <stdlib.h>int num ;char c;FILE *fd;void get_data(int *scr,int *len){*len = 0;num = 0;fd = fopen("1.txt","r"); /*r该文件必须存在;w若文件不存在则建立该文件*/while((c=fgetc(fd))!=EOF)/*当读到文件末尾或者读取出错时返回EOF*/{if((c>=48)&&(c<=57)){num = num*10+c-48;/*字符转为十进制数*/}else{scr[(*len)++] = num;num = 0;while((c=fgetc(fd))!=EOF){if(!((c>=48)&&(c<=57)))/*剔除非数字*/continue;else{num = num*10+c-48;break;}}}}if(num>0)scr[(*len)++] = num;fclose(fd);}int compar(const void *a, const void *b){return *(int *)a - *(int *)b;}void output(int *scr,int *len){int i;fd = fopen("2.txt","w");for(i=0;i<(*len);i++){fprintf(fd,"%d",*scr++);fprintf(fd,"%c",' ');}fclose(fd);}void main(){int j,len;int scr[100];get_data(scr,&len);qsort(scr,len,sizeof(int),compar);/* 比较函数compar的作用就是给qsort指明 元素的大小是怎么比较的*///printf("%d\n",len);/*http://www.cnblogs.com/syxchina/archive/2010/07/29/2197382.html*///for(j=0;j<len;j++)//printf("%d\n",scr[j]);output(scr,&len);}/*总结:函数参数的传递最好用指针传递*/
<pre name="code" class="cpp">/* *查看一个字符中1的个数 *author:jxb *date:2015\4\3 */#include <stdio.h>#include <string.h>#include <stdlib.h>void main(){char a;int string[8]={0,0,0,0,0,0,0,0};int j;printf("please input:\n");scanf("%c",&a);printf("%o\n",a);  /*该字符的8进制输出*/char b = a;for(j=7;b;j--)/*二进制转换*/{string[j] = b%2;b = b >> 1;}for(j=0;j<8;j++){printf("%d",string[j]);}printf("\n");int i=0;while (a)/*打印1的个数*/{i += a&1;a >>=1;}printf("%d\n",i);}



0 0
原创粉丝点击