自己总结的C语言编程.docx
- 文档编号:10930197
- 上传时间:2023-02-23
- 格式:DOCX
- 页数:43
- 大小:20.44KB
自己总结的C语言编程.docx
《自己总结的C语言编程.docx》由会员分享,可在线阅读,更多相关《自己总结的C语言编程.docx(43页珍藏版)》请在冰豆网上搜索。
自己总结的C语言编程
15编程:
unsignedfun(unsignedw)
{
intk=10;
unsignedt0=0,t1=0;
t0=w%10;
w=w/10;
while(w>10)
{
t1=w%10;
t0=t1*k+t0;
k=k*10;
w=w/10;
}
returnt0;
19编程:
(复杂化了)
voidfun(chars[],intc)
{
char*p,*q;
intk=0;
q=s;
p=s;
while(*q!
='\0')
{
k=0;
while(*p!
=c)
{
s[k]=*p;
k++;
p++;
}
if(*p==c)
{
while(*p)
{
s[k]=*(++p);
k++;
}
s[k]='\0';
p=&s[0];
}
q++;
}
}
19编程:
(简单化)(好好思考)
voidfun(chars[],intc)
{
char*p;
intk;
k=0;
p=s;
while(*p)
{
if(*p!
=c)
{
s[k]=*p;
k++;
}
p++;
}
s[k]='\0';
}
22编程:
(带头链表指针)
doublefun(STREC*h)
{
STREC*p;
doublemax=0.0;
p=h->next;
while(p)
{
if(p->s>max)
max=p->s;
p=p->next;
}
returnmax;
}
43:
填空:
bb[*p-'0']++;
num[j]=bb[i];
43:
编程:
char*fun(char(*a)[81],intnum)
{
char*p;
intmax=0,i;
max=strlen(a[0]);
for(i=0;i { if(strlen(a[i])>max) { max=strlen(a[i]); p=a[i]; } } returnp; } 第5样题编程题: voidfun(intm,intk,intxx[]) { inti,j; intn=0; intprime; for(i=m+1;i<1000;i++) { prime=1; for(j=2;j { if(i%j==0) { prime=0;//说明不是素数 break; } } if((prime==1)&&(n xx[n++]=i; } } 第六样题编程题: voidfun(chara[],charb[],intn) { inti=0; while(a[i]! ='\0') { if(i b[i]=a[i]; else b[i]=a[i+1]; i++; } b[i]='\0'; } 第7样题编程: voidfun(int*s,intt,int*k) { inti,n; intmax; max=s[0]; for(i=0;i { if(s[i]>max) { max=s[i]; n=i; } } *k=n; } 第9样题编程: floatfun(intm,intn) { intt=1; intk=1; intp=1; intq=0; floats=0.0; q=m-n; while(m>1) { t=t*m; m--; } while(n>1) { k=k*n; n--; } while(q>1) { p=p*q; q--; } s=t/(k*p); returns; } 第十样题编程: floatfun() { floatx1=0.0; floatx0; x0=x1; x1=cos(x0); while((fabs(x0-x1))>=0.000001) { x0=x1; x1=cos(x0); } returnx1; } 第11样题编程: voidfun(inta[][N]) { inti,j; for(i=0;i for(j=0;j<=i;j++) a[i][j]=0; } 第12样题编程: doublefun(intw[][N]) { inti=0; intj=0; intk=0; doubles; intstatics1=0; while(i { switch(i) { case0: for(j=0;j s1=s1+w[0][j]; break; case1: s1=s1+w[1][0]+w[1][N-1]; break; case2: s1=s1+w[2][0]+w[2][N-1]; break; case3: s1=s1+w[3][0]+w[3][N-1]; break; case4: for(k=0;k s1=s1+w[4][k]; break; default: break; } i++; } s=(double)s1/16; returns; } 第13样题编程: voidfun(inttt[M][N],intpp[N]) { inti,j,m; intk=0; intmin; for(i=0;i { min=tt[0][i]; m=0; for(j=m+1;j { if(tt[j][i] min=tt[j][i]; } pp[k]=min; k++; } } 第14样题编程: intfun(inta[M][N]) { inti,j; intstatics=0; while(i { switch(i) { case0: for(j=0;j s+=a[i][j]; break; case1: s+=a[i][0]+a[i][N-1]; break; case2: s+=a[i][0]+a[i][N-1]; break; case3: for(j=0;j s+=a[i][j]; break; } i++; } returns; } 第16样题编程: floatfun(floath) { floatdata2; intdata1; intk; data1=(int)(h*1000); k=data1%10; if(k>=5) data1+=10; data1=data1/10; data2=(float)data1/100; returndata2; } 第17样题编程: voidfun(char*s) { chart; char*p=&s[0]; char*q=&s[strlen(s)-1]; intk; intn=0; if(strlen(s)%2! =0)//说明是奇数 { k=(strlen(s)-1)/2; while(n { t=*p; *p=*q; *q=t; p++; q--; n++; } } else { k=strlen(s)/2; while(n { t=*p; *p=*q; *q=t; p++; q--; n++; } } } 第18样题编程: 方法一: (好方法) voidfun(intarray[3][3]) { inti,j,k; for(i=0;i<3;i++) for(j=0;j { k=array[i][j]; array[i][j]=array[j][i]; array[j][i]=k; } } 方法2: voidfun(intarray[3][3]) { inti,k; for(i=0;i<2;i++) { k=array[i][i+1]; array[i][i+1]=array[i+1][i]; array[i+1][i]=k; } k=array[0][2]; array[0][2]=array[2][0]; array[2][0]=k; } 第20样题编程: intfun(intlim,intaa[MAX]) { inti,j; intk=0; intflag=0; for(i=3;i<=lim;i++) { flag=1;//先假设是素数 for(j=2;j { if(i%j==0) { flag=0; break; } } if(flag==1) aa[k++]=i; } returnk; } 第21样题编程: voidfun(char*s,intnum) { char*p=&s[1]; inti,j; chark; for(i=0;i { for(j=i;j { if(p[i] { k=p[j]; p[j]=p[i]; p[i]=k; } } } } 第23样题编程: intfun(char*str) { intn; inti=0; intflag; n=strlen(str); if(n%2! =0)//说明为奇数长的字符串 { flag=1; for(i=0;i<(n-1)/2;i++) { if(str[i]! =str[n-i-1]) { flag=0; break; } } returnflag; } else { flag=1; for(i=0;i { if(str[i]! =str[n-i-1]) { flag=0; break; } } returnflag; } } 24样题编程: longfun(char*p) { longt; intn; inti,j; intk=10; longstaticsum=0; n=strlen(p); for(i=n-1;i>=0;i--) { if(p[i]>='0'&&p[i]<='9') { t=p[i]-'0'; for(j=i;j t=t*10; sum=sum+t; } } if(p[0]=='-') return(-sum); else returnsum; } 第25样题编程: char*fun(char*s,char*t) { intn,m; char*p=s; char*q=t; while(*p! ='\0') { p++; n++; } while(*q! ='\0') { q++; m++; } if(n>=m) returns; else returnt; 27编程: voidfun(intm,int*a,int*n) { inti; intk=0; for(i=1;i<=m;i++) { if(i%7==0||i%11==0) a[k++]=i; } *n=k; } 29: 编程: voidfun(char*ss) { inti; for(i=1;ss[i]! ='\0';i=i+2) { if(ss[i]>='a'&&ss[i]<='z') ss[i]=ss[i]-32; } } 30编程: fun(inta[][M]) { inti,j; intmax; max=a[0][0]; for(i=0;i<2;i++) { for(j=0;j { if(a[i][j]>max) max=a[i][j]; } } returnmax; } 30填空: 一字符串“123456”将其转化为一无符号长整数,倒序输出654321 unsignedlongfun(char*s) { unsignedlongt=0; intk; inti=0; i=strlen(s); for(i=i-1;i>=0;i--) { k=s[i]-'0'; t=t*10+k; } returnt; } 31编程: voidfun(char*s,chart[]) { inti; intk=0; intm; m=strlen(s); for(i=0;i {、 if((s[i]%2==0)&&(i%2==0)) t[k++]=s[i]; } t[k]='\0'; } 31: 改错 voidfun(char*str1,char*str2) { inti=0; char*p1=str1; char*p2=str2; while(*(p1+i)! ='\0') i++; for(;*p2! ='\0';i++) *(p1+i)=*p2++; *(p1+i)='\0'; } 32: 编程 voidfun(char*s,chart[]) { inti,k; intj=0; k=strlen(s); for(i=0;i { if((i%2! =0)&&(s[i]%2! =0)) t[j++]=s[i]; } t[j]='\0'; 填空: (保留两位,用四舍5入方法) doublefun(doublex[10]) { inti; longt; doubleavg=0.0; doublesum=0.0; for(i=0;i<10;i++) sum+=x[i]; avg=sum/10; avg=avg*1000;//然后将平均值乘以10(N+1)次方,N为要最后保留的位数 t=(avg+5)/10; avg=(double)t/100; returnavg; } 33编程: voidfun(char*a,intn)(有漏洞的) { inti,k; intm=0; intj=0; k=strlen(a); while(*(a+k-1)=='*') { k--; m++; } j=k; if(m>n) { for(i=0;i { *(a+j+i)='*'; } *(a+j+i)='\0'; } } 34编程: (结构体,需体会) intfun(STREC*a,STREC*b) { intmax,i,j=0,k=0; max=a[0].s; for(i=0;i if(a[i].s>max) max=a[i].s; for(i=0;i if(max==a[i].s) { b[j]=a[i]; j++; k++; } returnk; } 35编程: voidfun(char*str)(自己编的,有些复杂了) { inti,j,k; intn=0,m=0; for(i=0;str[i];i++) { while(str[i]! =''&&str[i]! ='\0') i++; m=k=i; if(str[i]=='') { while(str[m++]! ='\0') n++; for(j=0;j<=n;j++) str[k+j]=str[k+j+1]; n=0; } } } 参考答案: (简单) voidfun(char*str) { inti=0; char*p=str; while(*p) { if(*p! ='') { str[i]=*p; i++; } p++; } str[i]='\0'; } 36编程: voidfun(char*a) { char*p=a; charb[50]; intk; intm=0,n=0,j=0; intii; k=strlen(a); while(*p=='*') { m++; b[n++]='*'; p++; } b[n]='\0'; for(i=m;i { a[j]=*p; j++; p++; } for(i=0;i { a[j]=b[i]; j++; } } 37编程: voidfun(STREC*p) { inti; floatsum=0.0; for(i=0;i sum+=(*p).s[i]; (*p).ave=sum/8; } 38编程: voidfun(int*w,intp,intn) { inti,m,j=0; inta[50],b[50]; for(i=0;i<=p;i++) a[i]=w[i]; for(i=p+1,m=0;i { b[m]=w[i]; j++; } for(i=0;i<=p;i++) b[j+i]=a[i]; b[j+i]='\0'; for(i=0;i w[i]=b[i]; } 44编程: intfun(char*str,char*substr) { char*p=substr; intk=0; while(*str! ='\0') { while(*p! ='\0') { if(*p==*str) { p++; str++; if(*p=='\0') { k++; p=substr; } } else break; } str++; } returnk; } 45: (自己写的,太复杂了) voidfun(char*a,intn,inth,inte) { inti,j; intk=0,m=0; charb[50],c[50],d[50]; for(i=h,k=0;i<=n;i++,k++) d[k]=a[i]; for(k=0;k<=n-h;k++) a[k]=d[k]; for(k=0;k { c[k]=a[k]; m++; } c[k]='\0'; for(k=0;k<=m;k++) a[k]=c[k]; } 45: 标准答案 voidfun(char*a,intn,inth,inte) { inti=0; char*p;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 自己 总结 语言 编程