算法
yang627468471
雄关漫道真如铁 而今迈步从头越
展开
-
c语言 字符串倒叙算法
#includevoid reverse(char *pStr) { int temp, i, j; for (i = 0, j = strlen(pStr)-1; i < j; i++, j--) {//利用第三个变量进行交换,如果为基数个5/2=2交换两次1与n交换2与n-1交换,如果为偶数个6/2=3,1与n交换,2与 temp = pStr[i];原创 2013-11-29 18:22:13 · 1146 阅读 · 0 评论 -
c语言素数判断
#include<stdio.h>#include <math.h>void main(){ int n,i,k; printf("输入大于等于2的整数:n\n"); scanf("%d",&n); k = (int )sqrt(n); for(i = 2; i <= k;i++) if(n % i == 0) break; if(i > k) printf("素数\n"); else printf("不是素数\n"原创 2013-11-30 09:17:08 · 1381 阅读 · 3 评论 -
C语言 十进制转换成二进制转换方法,以及指定位反转
#include char * itbs(int n,char * ps);void show_bstr(char * str);int inver_end(int number,int bits);void main(){ char bin_str[8*sizeof(int)+1]; int number; while((scanf("%d",&number))=原创 2013-12-02 11:28:06 · 1692 阅读 · 0 评论 -
c语言手算开方 以及C开方,C计算正切值
手算开方是我们初中时期就学习的知识,以前学习过现在复习下。以√200 为列一般我们以前得出的结论是:10 √2如今以C为列,不可能显示这样的方式,所以要有详细的计算方式,如下:以个位开始两为为一个断,200=2,00,后面有小数点的部分没计算一位曾加两个01.用除法运算,以一个数的平方为主,1*1=1,2*2=4,把200中的2提取出来进行计算,12.拿出两个零则被除数为1原创 2013-12-02 11:24:59 · 2429 阅读 · 0 评论 -
c语言strcat实现
#includechar *my_strcat(char *str1, char *str2){ char *pt = str1; if((str1==NULL)||(str2==NULL)) puts("is null"); while(*str1!='\0') str1++; while(*str2!='\0') *str1++ = *str2++; *str1 = '\原创 2013-11-29 22:49:28 · 720 阅读 · 0 评论 -
c语言strcpy实现
#includechar * my_strcpy(char *dest, const char *src){ char *ptemp = dest; while((*(ptemp ++) = *(src++)) !='\0' ); return ptemp;}int main(void){ char dest[20]; char *src = "Hello"; my_s原创 2013-11-29 22:48:27 · 684 阅读 · 0 评论 -
c语言strcmp实现
#includeint strcmp(const char *str1,const char *str2){ int temp; while(!(temp=*str1++-*str2++)&&*str1!='\0'); if(temp<0) return -1; else if(temp>0) return 1; return temp;}int main(void原创 2013-11-29 21:50:35 · 856 阅读 · 0 评论 -
c语言数字转字符串
#includeint main(void){ int num=123456; char strNum[6]; int i=sizeof(strNum)-1; int j=sizeof(strNum); while(num){ strNum[i--]=num%10+'0';//数字转字符串+ASCII嘛48strNum[i--]=num%10+48;原创 2013-11-29 21:35:06 · 887 阅读 · 0 评论 -
c语言字符转换成数字
#includeint main(void){ char str[6]="123456"; int i=0,j=0; char temp[6]; int num=0; for(i=0;i<str[i]!='\0';i++){ if(str[i]>='0'&&str[i]<='9'){ temp[j++]=str[i]; } } i=0; while(i<原创 2013-11-29 20:49:44 · 10985 阅读 · 0 评论 -
c语言两个数交换
以下两个数交换方式是以宏的方式呈现,写了两种方式#include#define SWAP(a,b) {a=a+b;b=a-b;a=a-b;}int main(void){ int a=2,b=3; SWAP(a,b); printf("a=%d,b=%d\n",a,b); return 0;}#include#define SWAP(a,b)原创 2013-11-29 20:56:51 · 895 阅读 · 0 评论 -
c语言 数列1,1,2,3,5,8,13,21,34...求第n项
1.第一种用循环#includeint main(void){ int array[100]={1,1}; int i=0; int n=30; for(i=2;i<n+2;i++){ array[i]=array[i-1]+array[i-2]; } printf("arr[%d] = %d\n", n, array[n-1]); return 0原创 2013-11-30 08:47:21 · 17354 阅读 · 1 评论