C语言程序设计习题5Word文档格式.docx

上传人:b****6 文档编号:18809378 上传时间:2023-01-01 格式:DOCX 页数:18 大小:23.08KB
下载 相关 举报
C语言程序设计习题5Word文档格式.docx_第1页
第1页 / 共18页
C语言程序设计习题5Word文档格式.docx_第2页
第2页 / 共18页
C语言程序设计习题5Word文档格式.docx_第3页
第3页 / 共18页
C语言程序设计习题5Word文档格式.docx_第4页
第4页 / 共18页
C语言程序设计习题5Word文档格式.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

C语言程序设计习题5Word文档格式.docx

《C语言程序设计习题5Word文档格式.docx》由会员分享,可在线阅读,更多相关《C语言程序设计习题5Word文档格式.docx(18页珍藏版)》请在冰豆网上搜索。

C语言程序设计习题5Word文档格式.docx

{

inta[10],max;

intx;

for(x=0;

x<

10;

x++)

a[x]=random(100);

max=a[0];

{

if(a[x]>

max)

max=a[x];

printf("

%4d"

a[x]);

}

printf("

\nmax=%d\n"

max);

return0;

}

程序运行结果如下:

4167340692478586264

max=78

6.输入10个整数,要求按照从小到大的顺序输出。

voidmain()

inti,j,min,t,a[10];

请输入10个数:

\n"

);

for(i=0;

i<

i++)

scanf("

%d"

&

a[i]);

10-1;

min=i;

for(j=i;

j<

j++)

if(a[min]>

a[j])min=j;

t=a[i];

a[i]=a[min];

a[min]=t;

\n排序结果如下:

%5d"

a[i]);

程序运行情况如下:

6904556115447858101

排序结果如下:

1615444556587890101

7.输入10个字符,并将它们的顺序颠倒后输出。

#defineN10

chara[N],t;

inti;

/*输入10个字符并输出*/

请输入10个字符:

%c"

/*顺序颠倒*/

N/2;

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

a[N-i-1]=t;

顺序颠倒后的字符:

N;

0123456789↙

9876543210

8.写出下列程序的运行结果。

(1)#include<

voidfun(intb[])

inti=0;

while(b[i]<

=10)

b[i]+=2;

i++;

intmain()

inti,a[]={1,5,7,9,11,13,15};

fun(a+2);

7;

15911111315

(2)#include<

intmain()

{

inta[3][3],i,j;

for(i=0;

3;

for(j=0;

a[i][j]=i;

printf("

a[1][i]);

111

(3)#include<

intmain()

intk;

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

for(k=0;

k<

k++)

%d"

a[k][2-k]);

357

(4)#include<

#include<

string.h>

charp[20]={'

a'

'

b'

c'

d'

},q[]="

abc"

r[]="

abcde"

;

strcpy(p+strlen(q),r);

strcat(p,q);

%d\n%d\n"

sizeof(p),strlen(p));

20

11

(5)#include<

#include<

voidf(charp[][10],intn)/*字符串从小到大排序*/

{

chart[10];

inti,j;

for(i=0;

n-1;

for(j=i+1;

n;

if(strcmp(p[i],p[j])>

0)

{strcpy(t,p[i]);

strcpy(p[i],p[j]);

strcpy(p[i],t);

{

charp[5][10]={"

"

aabdfg"

abbd"

dcdbe"

cd"

};

f(p,5);

%d\n"

strlen(p[0]));

3

9.求一个3×

3矩阵对角线元素之和。

main()

floata[3][3],sum=0;

请输入矩阵元素:

for(i=0;

for(j=0;

%f"

a[i][j]);

i++)

sum=sum+a[i][i];

对角线元素之和=%.2f\n"

sum);

程序运行情况如下:

请输入矩阵元素:

123456789↙

对角线元素之和=15.00

10.找出一个二维数组中的鞍点,所谓鞍点是指该位置上的数在该行最大,在该列最小。

需要注意的是,并不是所有的二维数组都有鞍点。

#defineM10

inti,j,k,m,n,flag1,flag2,a[N][M],max,maxj;

\n输入行数n:

"

scanf("

n);

\n输入列数m:

m);

n;

第%d行?

i);

for(j=0;

m;

j++)

scanf("

printf("

a[i][j]);

printf("

flag2=0;

max=a[i][0];

maxj=0;

for(j=0;

j<

m;

if(a[i][j]>

max=a[i][j];

maxj=j;

}

for(k=0,flag1=1;

n&

&

flag1;

k++)

if(max>

a[k][maxj])

flag1=0;

if(flag1)

\n第%d行,第%d列的%d是鞍点\n"

i,maxj,max);

flag2=1;

if(!

flag2)

\n矩阵中无鞍点!

矩阵中有鞍点,运行情况如下:

输入行数n:

2↙

输入列数m:

第0行?

4↙

5↙

第1行?

6↙

45

46

第0行,第1列的5是鞍点

矩阵中无鞍点,运行情况如下:

90↙

7↙

8↙

907

58

矩阵中无鞍点!

11.某班有30个学生,每个学生参加了5门课程的考试,请编程显示该班的期末成绩单,并求出每个学生的所有课程的总分。

intscore[31][7];

for(i=1;

=30;

score[i][0]=i;

请依次输入30个学生的五门课的成绩\n"

请依次输入第%d个学生的五门课的成绩\n"

for(j=1;

=5;

score[i][j]);

score[i][6]=0;

score[i][6]+=score[i][j];

期末成绩单\n"

%10s%10s%10s%10s%10s%10s%10s\n"

学号"

课程1"

课程2"

课程3"

课程4"

课程5"

总分"

for(j=0;

=6;

%10d"

score[i][j]);

请依次输入30个学生的五门课的成绩

请依次输入第1个学生的五门课的成绩

7889989698↙

请依次输入第2个学生的五门课的成绩

8995989796↙

请依次输入第3个学生的五门课的成绩

7879747875↙

按照上面示例自行输入27个学生的五门课的成绩。

期末成绩单

学号课程1课程2课程3课程4课程5总分

17889989698459

28995989796475

37879747875384

程序将在此处依次打印出另外27个学生的成绩。

12.打印出如下方阵:

13141516

9101112

5678

1234

intarray[4][4];

=3;

array[i][j]=(3-i)*4+(j+1);

array[i][j]);

}

13.打印出以下的杨辉三角形(要求打印出10行):

#defineN11

inti,j,a[N][N];

a[i][i]=1;

a[i][1]=1;

for(i=3;

for(j=2;

=i-1;

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

for(j=1;

=i;

%6d"

1

11

121

1331

14641

15101051

1615201561

172135352171

18285670562881

193684126126843691

14.输入5个字符串,按照ASCII码值由小到大顺序输出。

inti,j,min;

chart[20],str[5][20];

请输入5个字符串:

5;

gets(str[i]);

5-1;

if(strcmp(str[min],str[j])>

0)min=j;

strcpy(t,str[i]);

strcpy(str[i],str[min]);

strcpy(str[min],t);

puts(str[i]);

flash↙

action↙

photo↙

dream↙

weaver↙

action

dream

flash

photo

weaver

15.有一篇文章,共有5行文字,每行有80个字符。

要求分别统计出其中英文大写字母、小写字母、数字、空格以及其他字符的个数。

inti,j,uppn,lown,dign,span,othn;

chartext[5][80];

uppn=lown=dign=span=othn=0;

\n请输入第%d行:

gets(text[i]);

80&

text[i][j]!

='

{

if(text[i][j]>

A'

text[i][j]<

Z'

uppn+=1;

elseif(text[i][j]>

&

text[i][j]<

z'

lown+=1;

0'

9'

dign+=1;

elseif(text[i][j]=='

'

span+=1;

else

othn+=1;

}

5;

%s\n"

text[i]);

大写字母的个数:

uppn);

小写字母的个数:

lown);

数字的个数:

dign);

空格的个数:

span);

其他字符的个数:

othn);

请输入第0行:

abc

请输入第1行:

+++

请输入第2行:

ABC

请输入第3行:

123

请输入第4行:

***

6

16.有一行电文,已按下面规律译成密码:

A→Za→z

B→Yb→y

C→Xc→x

……

即第1个字母变成第26个字母,第i个字母变成第(26-i+1)个字母。

非字母字符不变。

要求编写程序将密码译回原文,并打印出密码和原文。

inti,n;

charch[80],tran[80];

请输入字符:

gets(ch);

\n密码是:

%s"

ch);

i=0;

while(ch[i]!

if((ch[i]>

)&

(ch[i]<

))

tran[i]=26+64-ch[i]+1+64;

elseif((ch[i]>

tran[i]=26+96-ch[i]+1+96;

else

tran[i]=ch[i];

i++;

n=i;

printf("

\n原文是:

putchar(tran[i]);

ZYXzyx↙

密码是:

ZYXzyx

原文是:

ABCabc

17.编写一个程序,将字符数组s2中的全部字符复制到字符数组s1中。

要求不使用strcpy函数。

复制时,'

也要复制过去。

'

后面的字符不复制。

charfrom[80],to[80];

inti;

请输入字符串:

from);

for(i=0;

i<

=strlen(from);

to[i]=from[i];

复制字符串为:

to);

return0;

请输入字符串:

hello↙

复制字符串为:

hello

 

(此文档部分内容来源于网络,如有侵权请告知删除,文档可自行编辑修改内容,供参考,感谢您的配合和支持)

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

当前位置:首页 > 幼儿教育 > 育儿理论经验

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

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