c语言源程序Word文档格式.docx

上传人:b****1 文档编号:5368570 上传时间:2023-05-05 格式:DOCX 页数:61 大小:44.87KB
下载 相关 举报
c语言源程序Word文档格式.docx_第1页
第1页 / 共61页
c语言源程序Word文档格式.docx_第2页
第2页 / 共61页
c语言源程序Word文档格式.docx_第3页
第3页 / 共61页
c语言源程序Word文档格式.docx_第4页
第4页 / 共61页
c语言源程序Word文档格式.docx_第5页
第5页 / 共61页
c语言源程序Word文档格式.docx_第6页
第6页 / 共61页
c语言源程序Word文档格式.docx_第7页
第7页 / 共61页
c语言源程序Word文档格式.docx_第8页
第8页 / 共61页
c语言源程序Word文档格式.docx_第9页
第9页 / 共61页
c语言源程序Word文档格式.docx_第10页
第10页 / 共61页
c语言源程序Word文档格式.docx_第11页
第11页 / 共61页
c语言源程序Word文档格式.docx_第12页
第12页 / 共61页
c语言源程序Word文档格式.docx_第13页
第13页 / 共61页
c语言源程序Word文档格式.docx_第14页
第14页 / 共61页
c语言源程序Word文档格式.docx_第15页
第15页 / 共61页
c语言源程序Word文档格式.docx_第16页
第16页 / 共61页
c语言源程序Word文档格式.docx_第17页
第17页 / 共61页
c语言源程序Word文档格式.docx_第18页
第18页 / 共61页
c语言源程序Word文档格式.docx_第19页
第19页 / 共61页
c语言源程序Word文档格式.docx_第20页
第20页 / 共61页
亲,该文档总共61页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

c语言源程序Word文档格式.docx

《c语言源程序Word文档格式.docx》由会员分享,可在线阅读,更多相关《c语言源程序Word文档格式.docx(61页珍藏版)》请在冰点文库上搜索。

c语言源程序Word文档格式.docx

/*****删除有序数组某一元素*****/

inta[10]={0,1,2,3,4,5,6,7,8,9},i,j,k;

请输入要删除的数子:

if(a[i]==k)

for(j=i;

j<

j++)

a[j]=a[j+1];

if(i==10)

无此数子.\n"

删除后的数子为:

/************冒泡法************/

inta[10],j,i,k;

Pleaseinput:

if(a[j]<

a[j-1])

k=a[j];

a[j-1]=k;

排列好的一组数子:

/************选择法************/

inta[10],i,j,k,t;

k=i;

j--)if(a[j]<

a[k])k=j;

t=a[i];

a[i]=a[k];

a[k]=t;

它们是:

/************双向冒泡法************/

#include"

#defineN10

main(void)

{inta[N];

inti,j,n,t;

请输入10个数:

for(n=1;

n<

=N/2;

n++)

{for(i=n-1;

N-n;

if(a[i]>

a[i-1])

{

a[i]=a[i-1];

a[i-1]=t;

for(j=N-n-1;

n-1;

if(a[j]<

a[j-1)

{t=a[j];

a[j-1]=t;

}

}

/**********指针冒泡法********/

voidsort(int*x,inty);

intmain(void)

inta[]={3,1,4,5,9,7,8,6,2,0},i;

sort(a,10);

for(i=0;

printf("

a[%d]=%d."

return0;

voidsort(int*x,inty)

inti,t,*j;

for(i=1;

y;

for(j=x+y-1;

x+i-1;

if(*(j-1)>

*j)

{

t=*j;

*j=*(j-1);

*(j-1)=t;

/******************************/

计算4字节整数的2进制形式1bit的个数,如oneBits

(2)=1;

oneBits(3)=2

intoneBits(inti)

i=i-((i>

1)&

0x);

i=(i&

0x)+((i>

2)&

i=(i+(i>

4))&

0x0f0f0f0f;

i=i+(i>

8);

16);

i&

=0x3f;

returni;

/*****判断空格和字符数量******/

intget(int*x,int*y);

intx,y;

if(get(&

x,&

y))

空格:

%d个,小写字符:

%d个\n"

x,y);

else

非法文件\n"

intget(int*x,int*y)

intt;

*x=*y=0;

while((t=getchar())!

=EOF)

switch(t)

case'

'

:

\t'

(*x)++;

\n'

return1;

default:

if(t>

='

a'

&

t<

z'

)(*y)++;

/********strrev倒置算法*******/

voidstrrev(chara[]);

chara[60];

inti;

gets(a);

strrev1(a);

%s\n"

a);

voidstrrev(chara[])

inti,j,n;

charch;

n=strlen(a);

for(i=0,j=n-1;

j;

i++,j--)

ch=a[i];

a[i]=a[j];

a[j]=ch;

/*删除一串字符中的一个后并输出*/

{inti,m,j,n;

inta[10]={1,2,3,4,5,6,7,8,9};

cout<

<

thisnumberwillbepassedthatyouprintf"

endl;

cin>

m;

{

if(m>

a[i])

thisnumberiswrong."

;

if(a[i]==m)

=8;

};

for(n=0;

a[n];

/*********自编strcpy库函数**********/

voidstrcopy(char*str1,char*str2);

{char*str1,*str2;

Pleaseintputstr1andstr2:

scanf("

%s%s"

str1,str2);

strcopy(str1,str2);

%s\n%s\n"

voidstrcopy(char*str1,char*str2)

while((*str1++=*str2++)!

\0'

/*******自编库函数strlen********/

intstrlen1(char*str);

{intn=0;

char*str1;

Pleaseinputstring:

%s"

str1);

n=strlen1(str1);

%d\n"

n);

intstrlen1(char*str)

{char*i;

for(i=str;

*i;

i++);

returni-str;

/***********自编库函数strcmp*********/

intstrcmp1(char*str1,char*str2);

intsum;

Pleaseinputstring1andstring2:

sum=strcmp1(str1,str2);

sum);

intstrcmp1(char*str1,char*str2)

{for(;

*str1==*str2;

str1++,str2++)

if(*str1=='

)return0;

return*str1-*str2;

/*******经典字符转数子******/

inti,j=0,k=1;

chara[10],*s;

s=a;

%9s"

if(*s=='

-'

k=-1;

s++;

while(*s)

i=*s-'

0'

j=j*10+i;

j*k);

/*****自编内存分配函数******/

/*********仿malloc函数******/

#defineNUL0

#defineALLOSIZE100

staticallocb[ALLOSIZE];

static*allocp=allocb;

char*alloc(intn)

if(n>

0&

allocp+n<

=allocb+ALLOSIZE)

allocp+=n;

return(char*)(allocp-n);

else

return(char*)NUL;

int*p=(int*)alloc(sizeof(int));

*p=100;

%d:

p,*p);

/**动态定义一维整形数组**/

intinit(int**block,intsiz)

int*aux;

if((aux=(int*)malloc(siz*sizeof(int)))==NULL)

Enter%dintegerValues:

siz);

*block=aux;

while(siz--)

aux++);

int*arr,i,size;

Arraysize:

size);

if(!

init(&

arr,size))

Cannotallocatememory\n"

size;

arr[i]);

/**动态定义一维数组+动态内存分配**/

#defineALLOCSIZE100

char*alloc(intn);

intinit(int**block,intsize);

staticallocb[ALLOCSIZE];

int*arr,size,i;

allocp+(n-1)<

=allocb+(ALLOCSIZE-1))

return(char*)allocp-n;

returnNUL;

intinit(int**block,intsize)

if((aux=(int*)alloc(size*sizeof(int)))==NUL)

Enter%dintegervalues:

size);

while(size--)

/**动态定义二维数组+动态内存分配**/

#defineALLOCSIZE200

return(char*)allocp-n;

int**cas(intr,intc)

int**x,i;

x=(int**)alloc(sizeof(int)*r);

r;

x[i]=(int*)alloc(sizeof(int));

returnx;

int**p,i,j,r,c;

Arrayrowsandcols:

%d%d"

r,&

c);

p=cas(r,c);

c*r);

for(j=0;

c;

p[i][j]);

p[i][j]);

/*******4x4矩阵转置输出*******/

inta[4][4],i,j,t;

=3;

for(j=0;

a[i][j]);

{for(j=0;

j++)printf("

%4d"

a[i][j]);

\n"

4;

{t=a[i][j];

a[i][j]=a[j][i];

a[j][i]=t;

==================\n"

/***********判断月份**********/

charmonth[][14]={"

IllegalMonth"

January"

February"

March"

April"

May"

June"

July"

August"

September"

October"

November"

December"

inti;

for(;

i);

i>

=1&

=12?

month[i]:

month[0]);

/**********************************/

/*输入年和本年第几天利用指针计算月份*/

voidmonthday(intyear,intyearday,int*pmonth,int*pday);

intyear,yearday,day,month;

year,&

yearday);

monthday(year,yearday,&

month,&

day);

%d%d%d"

year,month,day);

voidmonthday(intyear,intyearday,int*pmonth,int*pday)

inti,j,q,day_tab[][13]={{0,31,28,31,30,31,30,31,31,30,31,30,31},{0,31,29,31,30,31,30,31,31,30,31,30,31}};

j=((year%4==0&

year%100!

=0)||year%400==0);

yearday>

(q=*(*(day_tab+j)+i));

i++)yearday-=q;

*pmonth=i;

*pday=yearday;

/******输入年月日计算距其多少天******/

intday_of_year(intyear,intmonth,intday);

intyear,month,day,k;

%d%d%d"

k=day_of_year(year,month,day);

k);

intday_of_year(intyear,intmonth,intday)

inti,j=0,day_tab[2][13]={{0,31,28,31,30,31,30,31,31,30,31,30,31},{0,31,29,31,30,31,30,31,31,30,31,30,31}};

for(i=1;

month;

day=day+day_tab[j][i];

returnday;

intmonthday(int(*day_tab)[13],intyear,intmonth,intday);

intday_tab[][13]={{0,31,28,31,30,31,30,31,31,30,31,30,31},{0,31,28,31,30,31,30,31,31,30,31,30,31}},year,day,month,k;

k=monthday(day_tab,year,month,day);

int

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 考试认证 > 其它考试

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2