国二C编程100Word文档格式.docx

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

国二C编程100Word文档格式.docx

《国二C编程100Word文档格式.docx》由会员分享,可在线阅读,更多相关《国二C编程100Word文档格式.docx(38页珍藏版)》请在冰点文库上搜索。

国二C编程100Word文档格式.docx

}

4.请编写一个函数voidfun(char*tt,intpp[]),统计在tt字符串中“a”到“z”26个字母各自出现的次数,并依次放在pp所指数组中。

当输入字符串abcdefabcdeabc后,程序的输出结果应该是:

33322110000000000000000000

voidfun(int*tt,intpp[])

{inti;

26;

pp[i]=0;

while(*tt)

if(*tt>

='

a'

*tt<

z'

){pp[*tt-'

]++;

tt++;

elsett++;

5.请编写一个voidfun(intm,intk,intxx[]),该函数的功能是:

将大于整数m且仅靠m的k个素数存入xx所指的数组中。

若输入:

17,5,则应输出:

19,23,29,31,37。

voidfun(intm,intk,intxx[])

{intg=0,i,j,flag=1;

i=m+1;

while(g<

k)

for(j=2;

j<

i;

j++)

if(i%j!

=0)flag=1;

else{flag=0;

break;

if(flag)xx[g++]=i;

i++;

}}

6.请编写一个函数voidfun(chara[],charb[],intn),其功能是:

删除一个字符串中指定下标的字符。

其中,a指向原字符串,删除后的字符串存放在b所指的数组中,n中存放指定的下标。

输入一个字符串world,然后输入3,则调用该函数后的结果为word.

voidfun(chara[],charb[],intn)

{inti,j=0;

LEN;

if(i!

=n)

{b[j]=a[i];

b[j]='

\0'

;

7.请编写一个函数intfun(int*s,intt,int*k),用来求出数组的最大元素在数组中的下标并存放在k所指的存储单元中。

输入如下整数:

876675896101301401980431451777则输出结果为:

6,980。

voidfun(int*s,intt,int*k)

{inti,max;

max=s[0];

t;

if(s[i]>

max){max=s[i];

*k=i;

8.编写函数fun,函数的功能是:

根据以下公式计算s,计算结果作为函数值返回;

n通过形参传入。

s=1+1/(1+2)+1/(1+2+3)+.....+1/(1+2+3+...+n)例如:

若n的值为11时,函数的值为1.83333

floatfun(intn)

floats=1.0,t=1.0;

for(i=2;

=n;

{

t=t+i;

s=s+1/t;

returns;

9.编写函数fun,它的功能是:

根据以下公式求p的值,结果由函数值带回。

m和n为两个正整数且要求m>

n。

p=m!

/(n!

*(m-n)!

)例如:

m=12,n=8时,运行结果为495.000000.

floatfun(intm,intn)

{floatp,t=1.0;

inti;

for(i=1;

=m;

t=t*i;

p=t;

for(t=1.0,i=1;

p=p/t;

=m-n;

returnp;

10.编写函数fun,它的功能是:

利用以下所示的简单迭代方法求方程cos(x)-x=0的一个实根。

X(n+1)=cos(xn)迭代步骤如下:

1)取x1初值为0.0

2)x0=x1,把x1的值赋给x0;

3)x1=cos(x0),求出一个新的x1;

4)若x0-x1,的绝对值小于0.000001,则执行步骤(5),否则执行步骤

(2)

5)所求x1就是方程cos(x)-x=0的一个实根,作为函数值返回。

程序将输出结果Root=0.739085.

floatfun()

{floatx1=0.0,x0;

do{

x0=x1;

x1=cos(x0);

}while(fabs(x0-x1)>

=1e-6);

returnx1;

11.下列程序定义了N*N的二维数组,并在主函数中自动赋值。

请编写函数fun(inta[][N]),该函数的功能是:

使数组左下半三角元素的值会全部置成0。

例如:

a数组

中的值为

197097

a=238,则返回主程序后a数组中的值应为008

456000

voidfun(inta[][N])

{inti,j;

N;

for(j=0;

=i;

a[i][j]=0;

12.下列程序定义了N*N的二维数组,并在主函数中自动赋值。

请编写函数fun,该函

数的功能是:

求出数组周边元素的平均值并作为函数值返回给主函数中饿s

a数组中的值为

01279

a=19745

23831

45682

59141

则返回主程序后s的值应为3.375.

doublefun(intw[][N])

{inti,j,k=0;

doubles=0.0;

if(i==0||j==0||i==N-1||j==N-1)

{s+=w[i][j];

s/=k;

13.请编一个函数voidfun(inttt[M][N],intpp[N]),tt指向一个M行N列的二维数组,求出二维数组每列中最小元素,并依次放入pp所指一维数组中。

二维数组中的数已在主函数中赋予。

voidfun(inttt[M][N,intpp[N]])

{inti,j,min;

min=tt[0][j];

M;

if(tt[i][j]<

min)min=tt[i][j];

pp[j]=min;

14.请编写函数fun,函数的功能是求出二维数组周边元素之和,作为函数值返回。

二维数组中的值在主函数中赋予。

若二维数组中的值为

13579

29994

69998

13570

则函数值为61。

intfun(inta[M][N])

{inti,j,s=0;

if(i==0||j==0||i==M-1||j==N-1)

s+=a[i][j];

15.请编写一个函数unsignedfun(unsignedw),w是一个大于10的无符号整数,若w是n(n>

=2)位的整数,则函数求出w的后n-1位数作为函数值返回。

w值为5923,则函数返回923;

若w值为923,则函数返回23。

unsignedfun(unsignedW)

{unsignedt,s=0,s1=1,p=0;

t=w;

while(t>

10)

if(t/10)p=t%10;

s+=p*s1;

s1=s1*10;

t=t/10;

16请编一个函数floatfun(doubleh),函数的功能是对变量h中的值保留2位小数,

并对第三位进行四舍五入(规定h中的值为正数)。

若h值为8.32433,则函数返回8.32;

若h值为8.32533,则函数返回8.33.

floatfun(floath)

{longt;

floats;

h=h*1000;

t=(h+5)/10;

s=(float)t/100.0;

17.请编一个函数fun(char*s),该函数的功能是把字符串中的内容逆置。

字符串原abcdefg,则调用该函数后,串的内容为:

gfedcba.

voidfun(floath)

{charch;

inti,m,n;

i=0;

m=n=strlen(s)-1;

while(i<

(n+1)/2)

ch=s[i];

s[i]=s[m];

s[m]=ch;

m--;

18.编写程序,实现矩阵(3行列)的转置(即行列互换)。

若输入下面的矩阵:

100200300100400700

400500600则输出程序:

200500800

700800900300600900

voidfun(intarray[3][3])

{inti,j,t;

3;

{t=array[i][j];

array[i][j]=array[j][i];

array[j][i]=t;

19.编写函数fun,该函数的功能是:

从字符串中删除指定的字符。

同一字母的大、小写按不同字符处理。

若程序执行时输入字符串为:

turbocandborlandc++从键盘上输入字符n,则输出后变为:

turbocadborladc++如果输入的字符在字符串中不存在,则字符串照原样输出。

voidfun(chars[],intc)

{inti=0;

char*p=s;

while(*p)

if(*p!

=c){s[i]=*p;

p++;

s[i]='

20.编写函数intfun(intlim,intaa[MAX]),该函数的功能是求出小于或等于lim的所有素数并放在aa数组中,该函数返回所求出的素数的个数。

intfun(intlim,intaa[MAX])

{intk=0,i,j;

for(i=lim;

i>

1;

i--)

if(i%j==0)break;

elsecontinue;

if(j>

=i){aa[k]=i;

21.请编写函数fun,对长度为7个字符的字符串,除首、尾字符外,将其余5个字符按ASCII码降序排序。

原来的字符串为CEAedca,则排序后输出为CedcEAa.

voidfun(char*s,intnum)

{chart;

inti,j;

num-2;

for(j=i+1;

num-1;

if(s[i]<

s[j])

{t=s[i];

s[i]=s[j];

s[j]=t;

}}

22.N名学生的成绩已在主函数中放入一个带头节点的链表结构中,h指向链表的头节点请编写函数fun,它的功能是:

找出学生的最高分,由函数返回。

doublefun(STREC*h)

{doublemax;

STREC*q=h;

max=h->

s;

if(q->

s>

max)max=q->

q=q->

next;

while(q!

=0);

returnmax;

23.请编写函数fun,该函数的功能是:

判断字符串是否为回文?

若是则函数返回1,主函数中输出YES,否则返回0,主函数中输出NO,回文是指顺读和倒读都一样的字符串。

字符串LEVEL是回文,而字符串123312就不是回文。

intfun(char*str)

{inti,n=0,fg=1;

char*p=str;

{n++;

n/2;

if(str[i]==str[n-1-i]);

else{fg=0;

returnfg;

24.请编写一个函数fun,它的功能是:

将一个数字字符串转换为一个整数(不得调用C语言提供的将字符串转换为整数的函数)。

若输入字符串“-1234”,则函数把它转换为整数值-1234

longfun(char*p)

{longs=0,t;

inti=0,j,n=strlen(p),k,s1;

if(p[0]=='

-'

)i++;

for(j=i;

=n-1;

t=p[j]-'

0'

s1=10;

for(k=j;

n-1;

t*=s1;

s+=t;

)return-s;

elsereturns;

25.请编写一个函数fun,它的功能是:

比较两个字符串的长度,(不得调用C语言提供的求字符串长度的函数),函数返回较长的字符串。

若两个字符串长度相同,则返回第一个字符串。

输入:

beijing<

CR>

shanghai<

函数将返回shanghai.

char*fun(char*s,char*t)

{char*p,*t1=t,*s1=s;

intn=0,m=0;

while(*s1){n++;

s1++;

while(*t1){m++;

t1++;

if(n>

=m)p=s;

elsep=t;

26.请编写一个函数fun,它的功能是:

根据以下公式求л的值(要求满足精度0.0005,即某项小于0.0005时停止迭代);

л/2=1+1/3+(1*2)/(3*5)++++(1+2+3....*n)/(3*5*7...(2n+1)

程序运行后,如果输入精度0.0005,则程序输出3.140578.

doublefun(doubleeps)

{doubles;

floatn,t,p1;

t=1;

p1=0;

n=1.0;

s=1.0;

while((fabs(s))>

=eps)

{p1+=s;

t=n/(2*n+1);

s*=t;

n++;

p1=p1*2;

returnp1;

27.请编写一个函数fun,它的功能是:

求出1到M之内(含M)能被7或11整除的所有整数放在数组a中,通过n返回这些数的个数。

若传送给m的值为50,则程序输出:

711142122283335424449

voidfun(intm,int*a,int*n)

*n=0;

if(i%7==0||i%11==0)

{a[j]=i;

28.请编写一个函数fun,它的功能是:

找出一维整型数组元素中最大的值和它所在的下标,最大的值和它所在的下标通过形参传回。

数组元素中的值已在主函数中赋予。

主函数中x是数组名,n是x中的数据个数,max存放最大值,index存放最大所在元素的下标。

voidfun(inta[],intn,int*max,int*d)

*max=a[0];

*d=0;

n;

if(a[i]>

*max){*max=a[i];

*d=i;

29.请编写一个函数fun,它的功能是:

将ss所指字符串中所有下标为奇数位置上的字母转换为大写(若该位置上不是字母,则不转换)。

若输入abc4EFg,则应输出aBc4EFg.

voidfun(char*ss)

{inti,n;

n=strlen(ss);

i+=2)

if(ss[i]>

ss[i]<

ss[i]=ss[i]-32;

30.请编写一个函数fun,它的功能是:

求出一个2*M整数二维数组中最大元素的值并将最大值返回调用函数。

fun(inta[][M])

{inti,j,max;

max=a[0][0];

2;

if(a[i][j]>

max)max=a[i][j];

31.请编写一个函数fun,它的功能是:

将s所指字符串中除了下标为偶数、同时ASCII值也为偶数的字符外,其余的全都删除:

串中剩余字符所形成的一个新串放在t所指的数组中。

若s所指字符串中的内容为ABCDEFG123456,其中字符A的ASCII码值为奇数,因此应当删除;

其中字符B的ASCII码值为偶数,但在数组中的下标为奇数;

因此也应当删除;

而字符2的ASCII码值为偶数,所在数组中的下标也为偶数,因此不应当删除,其他依此类推。

最后t所在的数组中的内容应是246。

voidfun(char*s,chart[])

{inti,j=0,n;

n=strlen(s);

if(i%2==0&

s[i]%2==0)

{t[j]=s[i];

j++;

t[j]='

32.请编写一个函数fun,它的功能是:

将s所指字符串中除了下标为奇数、同时ASCII值也为奇数的字符外,其余的全都删除:

若s所指字符串中的内容为ABCDEFG12345,其中字符A的ASCII码值为奇数,但所在元素的下标为偶数,因此应当删除;

而字符1的ASCII码值为奇数,但在数组中的下标为奇数;

因此不应当删除;

其他依此类推。

最后t所在的数组中的内容应是135。

=0&

s[i]%2!

33.假定输入的字符串中只包含字母和*号。

请编写函数fun,它的功能是:

使字符串中尾部的*号不得多余n个;

若多余n个,则删除多余的*号;

若少于或等于n个,则什么也不做,字符串中间和前面的*号不删除。

字符串中的内容为****A*BC*DEF*G*******,若n的值为4,删除后,字符串中的内容应当是****A*BC*DEF*G****,若n的值为7,则字符串中的内容仍为****A*BC*DEF*G*******。

n的值在主函数中输入。

在编写函数时,不得使用C语言提供的字符串函数。

voidfun(char*s,intn)

{inti=0,k=0;

char*p,*t;

p=t=a;

while(*t)t++;

t--;

while(*t=='

*'

{k++;

t++;

if(k>

n)

{while(*p&

p<

t+n)

{a[i]=*p;

a[i]='

34.学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写函数fun,它的功能是:

把分数最高的学生数据放在h所指的数组中,注意:

分数最高的学生可能不只一个,函数返回分数最高的学生的人数。

intfun(STREC*a,STREC*t)

{inti,j=0,n=0,max;

max=a[0].s;

if(a[i].s>

max)max=a[i].s;

if(a[i].s==max)

{*(b+j)=a[i];

returnn;

35.请编写一个函数,用来删除字符串中的所有空格。

输入asdafaaz67,则输出为asdafaaz67.

voidfun(char*str)

{if(*p!

'

){str[i]=*p;

str[i]='

36假定输入的字符串中只包含字母和*号。

将字符串中的前导*号全部移到字符串的尾部。

字符串中的内容为*******A*BC*DEF*G****,移动后,字符串中的内容应当是A*BC*DEF*G***********,在编写函数时,不得使用C语言提供的字符串函数。

voidfun(char*a)

{inti=0,n=0;

char*p;

p=a;

while(*p=='

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

当前位置:首页 > 求职职场 > 简历

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

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