云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > C语言算法

C语言算法

  • 62 次阅读
  • 3 次下载
  • 2026/1/11 2:09:04

进制转换

程序-110进制转2进制#includevoidmain(){

intdec,i=0,j,a[16];scanf(“%d”,&dec);do{

a[i]=dec%2;i++;dec=dec/2;}while(dec>=1);

for(j=i–1;j>=0;j--)printf(“%d”,a[j]);}

程序-210进制转2进制(递归法)#include

voiddec2bin(intx,intn);voidmain(){intdec;

printf(\number:\scanf(\&dec);

printf(\ofdecimalform:%d\\n\dec);dec2bin(dec,sizeof(int)*8);putchar('\\n');}

voiddec2bin(intx,intn){

if(n>0){

putchar('0'+((unsigned)(x&(1<<(n-1)))>>(n-1)));dec2bin(x,n-1);}}

程序-316进制转10进制#includevoidmain(){

charhex[8],c,*p=hex;longintdec=0;

while(*p=='0')p++;//忽略开头的'0'字符while(c=*p++){

dec=dec*16;//dec乘16if(c>='0'&&c<='9')

dec+=c-'0';

elseif(c>='a'&&c<='f')

dec+=c-'a'+10;

}

elseif(c>='A'&&c<='F')

dec+=c-'A'+10;else{

printf(“dataerror”);exit(-1);}

printf(“%ld”,dec)

字符串1-字符串转换为数字main(){

chars[6];intn;get(s);

if(*s==‘-’)n=-chnum(s+1);elsen=chnum(s);printf(“%d\\n”,n);}

chnum(char*p){intnum=0,k,len,j;len=strlen(p);

for(;*p!=‘0’;p++){k=*p-’0’;j=(--len);while(j-->0){k=k*10;}num=num+k;}

return(num);}

字符串2-统计子串个数main(){

charstr[80],substr[80];intn;

gets(str);gets(substr);

printf(“%d\\n”,count(str,substr));}

count(char*str,char*substr){inti,j,k,num=0;

for(i=0;str[i]!=‘\\0’;i++)

for(j=i,k=0;substr[k]==str[j];k++,j++)

if(substr[k+1]==‘\\0’){num++;break;}return(num);}

字符串3-递归法字符串倒序main(){chars[80];

scanf(“%s”,s);invert(s);}

invert(char*a){if(!*a)return0;invert(a+1);

printf(“%c”,*a);}

字符串4-字符串过滤

要求:过滤掉字符串中比指定字符小的字符,在原串上完成,不得另创建一个新的字符串。main(){

charstr[80],c;

scanf(“%s”,str);scanf(“%c”,c);filter(str,c);puts(str);}

filter(char*p,charc){

inti,j;

for(i=j=0;*(p+i)!=‘\\0’;i++)

if(*(p+i)>=c){*(p+j)=*(p+i);j++;}*(p+j)=‘\\0’;}

字符串5-递归法数值转倒序字符串voidconvert(char*a,intn){inti;

if((i=n/10)!=0)convert(a+1,i);*a=n+’0’;}

main(){

intnumber;

charstr[10]=“”;

scanf(“%d”,&number);convert(str,number);puts(str);}

字符串6-递归法数值转字符串voidconvert(intn){inti;

}

main(){

intnumber;

scanf(“%d”,&number);

if(number<0){putchar(‘-’);number=-number;}convert(number);}

字符串7-判断回文#includevoidmain(){

chars[80],*p1,*p2;intn;gets(s);n=strlen(s);p1=s;p2=s+n-1

while(p1

if(*p1!=*p2)break;else{p1+=;p2--;}}

if(p1

字符串8-字符串中左右括号匹配检查#includevoidmain(){charc[80];intd;gets(c);d=check(c);

printf(“d=%d”,d);}

check(char*s){intl=0,r=0;

while(*s!=‘\\0’){if(*s==‘(’)l++;elseif(*s==‘)’){r++;

if(r>l)return0;}s++;

if((i=n/10)!=0)convert(i);putchar(n+’0’);

搜索更多关于: C语言算法 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

进制转换程序-110进制转2进制#includevoidmain(){intdec,i=0,j,a[16];scanf(“%d”,&dec);do{a[i]=dec%2;i++;dec=dec/2;}while(dec>=1);for(j=i–1;j>=0;j--)printf(“%d”,a[j]);}程序-210进制转2进制(递归法)#includevoiddec2bin(intx,intn);voidmain(){intdec;printf(\number:\scanf(\&dec);printf(\ofdecimalform:%d\\n\dec);dec2bin(dec,sizeof(int)*8);putchar('\\n');}

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com