C语言第五轮实验内容.docx

上传人:b****2 文档编号:24496622 上传时间:2023-05-28 格式:DOCX 页数:21 大小:20.02KB
下载 相关 举报
C语言第五轮实验内容.docx_第1页
第1页 / 共21页
C语言第五轮实验内容.docx_第2页
第2页 / 共21页
C语言第五轮实验内容.docx_第3页
第3页 / 共21页
C语言第五轮实验内容.docx_第4页
第4页 / 共21页
C语言第五轮实验内容.docx_第5页
第5页 / 共21页
点击查看更多>>
下载资源
资源描述

C语言第五轮实验内容.docx

《C语言第五轮实验内容.docx》由会员分享,可在线阅读,更多相关《C语言第五轮实验内容.docx(21页珍藏版)》请在冰豆网上搜索。

C语言第五轮实验内容.docx

C语言第五轮实验内容

C语言第五轮实验内容

11编写带有函数的程序,函数fun功能是求出能整除x且不是偶数的各个整数,顺序存放在数组pp中,这些除数的个数通过形参返回。

例如:

若x值为30,则有4个数符合要求,是1,3,5,15。

voidfun(intx,intpp[],int*n)

{

 

}

main()

{intx,aa[100],n,i;

printf("Pleaseenteranumber:

\n");

scanf("%d",&x);

fun(x,aa,&n);

for(i=0;i

printf("%3d",aa[i]);

printf("\n");

}

 

12编一个带有函数的程序。

在main()函数中输入一个字符串(长度<20),调用函数fun将该字符串中的所有字符按ASCII码升序排序,

然后再输出排序后的字符串。

例如,输入edcba,则应输出abcde.。

e

d

c

a

g

s

f

\0

\0

\0

 

13下面程序的功能是依次取出字符串中所有数字字符,形成新的字符串,并取代原字符串;(如:

abcd123efg456变为123456)。

修改该程序,要求将红色部分用一个函数来实现。

 

A

B

C

D

1

2

3

E

F

G

4

5

6

\0

\0

 

#include""

main()

{chars[15];inti,j;

scanf("%s",s);

for(i=0,j=0;s[i]!

='\0';i++)

if(s[i]>='0'&&s[i]<='9')

{

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

}

s[j]='\0';

printf("\nTheresult:

");

printf("%s",s);

}

21编写带有函数的程序(函数名为:

intfun(ints[],int*k)),功能是求出数组的最大元素在数组中的下标并存放在k所指的存储单元中。

例如:

输入如下整数876675896101301401980431451777

则输出结果为:

6,980。

intfun(ints[],int*k)

{ 

}

main()

{inta[10]={876,675,896,101,301,401,980,431,451,777};

intk;

fun(a,&k);

printf("%d,%d\n",k,a[k]);

}

 

22在main()函数中,已有一个已排好序的整型数组,今输入一个整数,调用函数fun(),其功能是按原来排序的规律将它插入数组中。

例如:

原来数组的元素依次为4、6、8、41、56、77、102。

若将42插入数组中,则插入后数组元素依次为4、6、8、41、42、56、77、89、102。

fun(  )

{

}

main()

{ints[8]={4,6,8,41,56,77,102};

intm,i;

scanf("%d",&m);

fun(s,m);

for(i=0;i<8;i++)

printf("%6d",s[i]);

}

23下面程序的功能是将字符数组s2中的全部字符拷贝到字符数组s1中。

拷贝时,’\0’也拷贝过去,但’\0’后面的字符不拷贝。

修改该程序,要求将红色部分用一个函数来实现。

main()

{

chars1[80],s2[80];

inti;

scanf("%s",s2);

for(i=0;s2[i]!

=’\0’;i++)

s1[i]=s2[i];

s1[i]=’\0’;

printf("s1:

%s\n",s1);

}

31编写带有函数的程序(函数名为:

fun()),功能是将ss所指字符串中下标为奇数位置上的字母转换为大写(若该位置上不是字母,则不转换,注意下标是从右向左0开始的)。

例如:

输入abbcc45ghNj,则应输出aBbCc45GhNj。

#include""

voidfun()

{ 

}

main()

{chartt[81];

printf("Pleaseentercharacter:

");

gets(tt);

fun(tt);

printf("Theresultis:

%s\n",tt);

}

 

32在main()函数中,先从键盘上输入一个3行3列整型数组的各个元素的值,然后调用函数fun(),其功能是计算并返回主对角线元素之和。

 

33下面程序的功能是用冒泡法对10个整数按降序进行排序。

修改该程序,要求将红色部分用一个函数来实现。

main()

{inta[11],i,j,t;

printf("Input10numbers:

\n");

for(i=1;i<11;i++)

scanf("%d",&a[i]);

printf("\n");

for(j=1;j<=9;j++)

for(i=1;i<=10-j;i++)

if(a[i]

{t=a[i];a[i]=a[i+1];a[i+1]=t;}

printf("Thesortednumbers:

\n");

for(i=1;i<11;i++)

printf("%d",a[i]);

}

41编写带有函数的程序(函数名为:

intfun()),功能是从整数1到55之间,选出能被3整除、且有一位上的数是5的那些数,并把这些数放在b所指的数组中,这些数的个数作为函数值返回。

结果应该是:

15455154

intfun(  )

{

 

}

main()

{inta[100],k,m;

m=fun(a);

printf("Theresultis:

\n");

for(k=0;k

printf("%4d",a[k]);printf("\n");

}

 

42调用函数fun(),其功能是对10个整数按降序进行排序。

 

43下面程序的功能是将两个字符串连接起来,不要用strcat函数。

修改该程序,要求将红色部分用一个函数来实现。

main()

{

chars1[80],s2[80];

inti=0,j;

scanf("%s",s1);

scanf(“%s”,s2);

while(s1[i]!

=’\0’)i++;

for(j=0;s2[j]!

=’\0’;)

s1[i++]=s2[j++];

s1[i]=’\0’;

printf("s1:

%s\n",s1);

}

51编写带有函数的程序(函数名为fun),功能是求出ss所指字符串中指定字符的个数,并返回此值。

例如:

输入2,再输入字符1则应输出3。

#include""

intfun(   )

{

 

}

main()

{chara[20],ch;

printf("\nPleaseenterastring:

");

gets(a);

printf("\nPleaseenterachar:

");

ch=getchar();

printf("Thenumberis:

%d\n",fun(a,ch));

}

 

52调用函数fun(),其功能是从字符串中删除指定的字符。

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

例如:

输入字符串为:

turbocandBorlandc++

输入字符n,则输出为turbocadBorladc++。

 

53下面程序的功能是输入一个英文文本行,将其中每个单词的第一个字母改成大写,然后输出此行文本。

单词是指由空格隔开的字符串。

例如:

若输入iamastudent,则删除IAmAStudent

修改该程序,要求将红色部分用一个函数来实现。

main()

{charstr[30];

inti,j,k=0,x,len;

clrscr();

gets(str);

len=strlen(str);

for(i=0;str[i]!

=’\0’;i++)

if(k)

{if(str[i]==’’)k=0;}

elseif(str[i]!

=’’)

{k=1;str[i]=str[i]>=’a’&&str[i]<=’z’str[i]-32:

str[i];}

printf("\n");

puts(str);

}

61利用函数方法编程序:

函数fun功能是,找出100至1000之间三位数字相等的所有整数(如:

111、222、333、……),

把这些整数放在s所指数组中,个数作为函数值返回。

intfun(  )

{

 

}

main()

{inta[50],num=0,i;

num=fun(a);

printf("\nTheresult:

");

for(i=0;i

printf("%5d",a[i]);

}

 

62在main函数中,先从键盘上输入一个3行3列数组的各个元素的值,调用函数fun(),其功能是按主对角线进行转置,

然后再在main函数中输出转置后的数组。

例如:

原数组为:

转置后为:

123147

456258

789369

 

63下面程序的功能是从字符串中删除指定的字符。

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

例如:

输入字符串为:

turbocandBorlandc++

输入字符n,则输出为turbocadBorladc++。

修改该程序,要求将红色部分用一个函数来实现。

#include""

main()

{charstr[50],c;inti,j;

clrscr();

gets(str);

c=getchar();

for(i=0,j=0;str[i]!

='\0';i++)

if(str[i]!

=c)

{

str[j]=str[i];j++;

}

str[j]='\0';

printf("\nTheresult:

");

puts(str);

}

71:

编写带有函数的程序(函数名为:

intfun(int*s,intt,int*k)),功能是求出数组的最大元素在数组中的下标并存放在k所指的存储单元中。

例如:

输入如下整数876675896101301401980431451777

则输出结果为:

6,980。

给出主函数,函数fun功能由同学完成。

main()

{inta[10]={876,675,896,101,301,401,980,431,451,777};

intk;

fun(a,10,&k);

printf("%d,%d\n",k,a[k]);

}

72:

编写带有函数的程序(函数名为:

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

例如:

输入abbcc45ghNj,则应输出aBbCc45GhNj。

73:

编写带有函数的程序(函数名为:

intfun(char*ss,charc)),功能是求出ss所指字符串中指定字符的个数,并返回此值。

例如:

输入2,再输入字符1则应输出3。

给出主函数,函数fun功能由同学完成。

#include""

#defineM81

main()

{chara[M],ch;

printf("\nPleaseenterastring:

");

gets(a);

printf("\nPleaseenterachar:

");

ch=getchar();

printf("Thenumberis:

%d\n",fun(a,ch));

}

81:

编写带有函数的程序(函数名为:

voidfun(char*ss)),功能是将ss所指字符串中下标为奇数位置上的字母转换为大写

(若该位置上不是字母,则不转换,注意下标是从右向左0开始的)。

例如:

输入abbcc45ghNj,则应输出aBbCc45GhNj。

给出主函数,函数fun功能由同学完成。

#include""

voidfun(char*ss)

{

}

main()

{chartt[81];

printf("Pleaseentercharacter:

");

gets(tt);

fun(tt);

printf("Theresultis:

%s\n",tt);

}

82:

编写带有函数的程序(函数名为:

intfun(int*b)),功能是从整数1到55之间,选出能被3整除、且有一位上的数是5的那些数,

并把这些数放在b所指的数组中,这些数的个数作为函数值返回。

结果应该是:

15455154

给出主函数,函数fun功能由同学完成。

#include<>

intfun(int*b)

{

}

main()

{inta[100],k,m;

m=fun(a);

printf("Theresultis:

\n");

for(k=0;k

printf("%4d",a[k]);printf("\n");

}

83:

编一个带有函数的程序,读入一个字符串(长度<20),将该字符串中的所有字符按ASCII码升序排序后输出。

例如,输入edcba,则应输出abcde.。

e

d

c

a

g

s

f

\0

\0

\0

 

给出主函数,函数fun功能由同学完成。

#include""

voidfun(chart[])

{

}

main()

{chars[20];

printf("\nPleaseenterastring:

");

gets(s);

fun(s);

printf("\nAfterstring:

%s",s);

}

91:

编写带有函数的程序,函数功能是求出能整除x且不是偶数的各个整数,顺序存放在pp所指的数组中,这些除数的个数通过形参返回。

例如:

若x值为30,则有4个数符合要求,是1,3,5,15。

voidfun(intx,intpp[],int*m)

{

}

main()

{intx,aa[100],n,i;

printf("Pleaseenteranumber:

\n");

scanf("%d",&x);

fun(x,aa,&n);

for(i=0;i

printf("%3d",aa[i]);

printf("\n");

}

92:

编写带有函数的程序(函数名为:

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

例如:

输入abbcc45ghNj,则应输出aBbCc45GhNj。

#include""

voidfun(char*ss)

{

 

}

main()

{chartt[81];

printf("Pleaseentercharacter:

");

gets(tt);

fun(tt);

printf("Theresultis:

%s\n",tt);

}

93:

编写带有函数的程序(函数名为:

intfun(int*b)),功能是从整数10到55之间,选出能被3整除、且有一位上的数是5的那些数,并把这些数放在b所指的数组中,这些数的个数作为函数值返回。

If(k%3==0&&a2==5)||(k%3==0&&a1==5)

结果应该是:

15455154

intfun(int*b)

{

 

}

main()

{inta[100],k,m;

m=fun(a);

printf("Theresultis:

\n");

for(k=0;k

printf("%4d",a[k]);printf("\n");

}

101:

编写带有函数的程序(函数名为:

intfun(int*s,intt,int*k)),功能是求出数组的最大元素在数组中的下标并存放在k所指的存储单元中。

例如:

输入如下整数876675896101301401980431451777

则输出结果为:

6,980。

intfun(int*s,intt,int*p)

{

 

}

main()

{inta[10]={876,675,896,101,301,401,980,431,451,777};

intk;

fun(a,10,&k);

printf("%d,%d\n",k,a[k]);

}

102:

编写程序,要求函数功能为:

分别统计字符串中大写和小写字母的个数。

例如输入aabbDDDhhhCCjj,结果为upper=5,lower=9.

给出主函数,函数fun功能由同学完成。

#include""

intupper,lower;

fun(chars[])

{

 

}

main()

{charw[100];

printf("\nPleaseastring:

");

gets(w);

fun(w);

printf("\nupper=%d;lower=%d\n",upper,lower);

}

103:

利用函数方法编程序:

函数功能是,找出100至1000之间三位数字相等的所有整数(如:

111、222、333、……),

把这些整数放在s所指数组中,个数作为函数值返回。

给出主函数,函数fun功能由同学完成。

intfun(ints[])

{

}

main()

{inta[50],num=0,i;

num=fun(a);

printf("\nTheresult:

");

for(i=0;i

printf("%5d",a[i]);

}

111:

编含有两个子函数的程序,求P的值。

其中:

p=m!

/n!

(m-n)!

(例如:

当m=6,n=3时:

p=)

解:

#include<>

longjc(intm)

{

longs=1;

returns;

}

floatfun(intm,intn)

{

floatp;

returnp;

}

main()

{

inti,j;

scanf(“%d%d”,&i,&j);

printf(“p=%f\n”,fun(i,j));

}

 

112:

下面函数fun的功能是:

将长整型数中偶数位置上的数依次取出,构成一个新数返回,

例如,当s中的数为:

时,则返回的数为:

8642;请填空并写出主函数使程序完整。

voidmain()

{

 

}

longfun(longs)

{longt,sl=1;

intd;

t=0;

while(s>0){

d=s%10;

if(d【】==0)

{

t=d*sl+t;

sl*=10;

}

s/=10;

}

return(【】);

}

 

113:

下面程序的功能是依次取出字符串中所有数字字符,形成新的字符串,并取代原字符串;(如:

abcd123efg456变为123456)。

修改该程序,要求将红色部分用一个函数来实现。

#include""

main()

{chars[15];inti,j;

scanf("%s",s);

for(i=0,j=0;s[i]!

='\0';i++)

if(s[i]>='0'&&s[i]<='9')

{

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

}

s[j]='\0';

printf("\nTheresult:

");

printf("%s",s);

}

121:

编一个函数,求一个字符串的长度。

在main函数中输入字符串,并输出其长度。

(不能用strlen()函数)

给出主函数,函数length()功能由同学完成。

解:

main()

{intlen;

charstr[20];

printf("Inputstring:

");

scanf("%s",str);

len=length(str);

printf("Thelengthofstringis%d.",len);

}

length(char*p)

{

 

}

122:

一个带有函数的程序,读入一个字符串(长度<20),将该字符串中的所有字符按ASCII码升序排序后输出。

请填空并写出主函数使程序完整

#include“”

voidfun(chart[])

{charc;inti,j,n;

n=【】;

for(i=0;i

for(j=i+1;j

if(t[i]>t[j])

{c=t[j];t[j]=t[i];t[i]=c;}

}

main()

{chars[20];

 

}

123:

下面程序的功能是从字符串中删除指定的字符。

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

例如:

输入字符串为:

turbocandBorlandc++

输入字符n,则输出为turbocadBorladc++。

修改该程序,要求将红色部分用一个函数来实现。

#include""

main()

{charstr[50],c;inti,j;

clrscr();

gets(str);

c=getchar();

for(i=0,j=0;str[i]!

='\0';i++)

if(str[i]!

=c)

{

str[j]=str[i];j++;

}

str[j]='\0';

printf("\nTheresult:

");

puts(str);

}

 

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

当前位置:首页 > IT计算机 > 互联网

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1