C语言数组编程的题目及解答Word格式文档下载.docx

上传人:b****4 文档编号:7173779 上传时间:2023-05-08 格式:DOCX 页数:16 大小:19.85KB
下载 相关 举报
C语言数组编程的题目及解答Word格式文档下载.docx_第1页
第1页 / 共16页
C语言数组编程的题目及解答Word格式文档下载.docx_第2页
第2页 / 共16页
C语言数组编程的题目及解答Word格式文档下载.docx_第3页
第3页 / 共16页
C语言数组编程的题目及解答Word格式文档下载.docx_第4页
第4页 / 共16页
C语言数组编程的题目及解答Word格式文档下载.docx_第5页
第5页 / 共16页
C语言数组编程的题目及解答Word格式文档下载.docx_第6页
第6页 / 共16页
C语言数组编程的题目及解答Word格式文档下载.docx_第7页
第7页 / 共16页
C语言数组编程的题目及解答Word格式文档下载.docx_第8页
第8页 / 共16页
C语言数组编程的题目及解答Word格式文档下载.docx_第9页
第9页 / 共16页
C语言数组编程的题目及解答Word格式文档下载.docx_第10页
第10页 / 共16页
C语言数组编程的题目及解答Word格式文档下载.docx_第11页
第11页 / 共16页
C语言数组编程的题目及解答Word格式文档下载.docx_第12页
第12页 / 共16页
C语言数组编程的题目及解答Word格式文档下载.docx_第13页
第13页 / 共16页
C语言数组编程的题目及解答Word格式文档下载.docx_第14页
第14页 / 共16页
C语言数组编程的题目及解答Word格式文档下载.docx_第15页
第15页 / 共16页
C语言数组编程的题目及解答Word格式文档下载.docx_第16页
第16页 / 共16页
亲,该文档总共16页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

C语言数组编程的题目及解答Word格式文档下载.docx

《C语言数组编程的题目及解答Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《C语言数组编程的题目及解答Word格式文档下载.docx(16页珍藏版)》请在冰点文库上搜索。

C语言数组编程的题目及解答Word格式文档下载.docx

,a[j]);

printf("

\n"

);

}

【程序2】

题目:

一个数如果恰好等于它的因子之和,这个数就称为“完数”。

例如6=1+2+3.编程找出1000以内的所有完数。

程序源代码:

intmain()

intk[10];

inti,j,n,s;

for(j=2;

1000;

n=-1;

s=j;

for(i=1;

j;

{

if((j%i)==0)

{

n++;

s=s-i;

k[n]=i;

}

}

if(s==0)//说明是完数

%disawanshu:

"

j);

for(i=0;

=n;

printf("

%d"

k[i]);

return1;

【程序3】

用选择法对10个数进行从大到小排序

1.程序分析:

可以利用选择法,即从后9个比较过程中,选择一个最小的与第一个元素交换,下次类推,即用第二个元素与后8个进行比较,并进行交换。

      

2.程序源代码:

#defineN10

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

/*inputdata*/

pleaseinputtennum:

N;

printf("

a[%d]="

i);

scanf("

%d"

&

a[i]);

Beforesorted\n"

%5d"

a[i]);

/*sorttennum*/

N-1;

max=i;

if(a[max]<

a[j])max=j;

if(max!

=i)

tem=a[i];

a[i]=a[max];

a[max]=tem;

/*outputdata*/

Aftersorted\n"

==============================================================

【程序4】

求一个3*3矩阵对角线元素之和

利用双重for循环控制输入二维数组,再将a[i][i]累加后输出。

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

pleaseinputrectangleelement:

3;

for(j=0;

scanf("

%f"

a[i][j]);

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

duijiaoxianheis%6.2f"

sum);

【程序5】

将一个数组逆序输出。

用第一个与最后一个交换。

#defineN5

{

inta[N]={9,6,5,4,1},i,temp;

\noriginalarray:

%4d"

N/2;

temp=a[i];

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

a[N-i-1]=temp;

\nsortedarray:

1QrP^,jRCDC0

#],?

'

eOG/M+f\9B051Testing软件测试网;

S$p-]$ai【程序6】

W?

#At0uP+D0打印出以下杨辉三角形(要求打印出10行)。

 

xW"

`](d01 

51Testing软件测试网]2tkO;

^

1  1 

&

Dz8H;

q]A6A6k%A,]*|.|01  2  1 

51Testing软件测试网2QX`Vzau4b

1  3  3  1 

51Testing软件测试网QjM+@qd1Qq

1  4  6  4  1 

51Testing软件测试网AY{MDU(`Q

1  5  10 10  5  1

~9tS`6YWW~0#include<

intn,i;

inta[10],b[10];

a[0]=1;

a[1]=1;

%-4d\n"

a[0]);

%-4d%-4d\n"

a[0],a[1]);

for(n=3;

n<

=10;

n++)

b[0]=1;

n-1;

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

b[n-1]=1;

for(i=0;

n;

%-4d"

b[i]);

a[i]=b[i];

};

r.vXMF3FL.DPXp0

【程序7】

有个15数按由小到大顺序存放在一个数组中,输入一个数,要求用折半查找法找出该数组中第几个元素的值。

如果该数不在数组中,则打印出"

无此数"

51Testing软件测试网+V~eC7jpT5Si#i

#include<

inta[15]={1,4,9,13,21,34,55,89,144,233,377,570,671,703,812};

intw,l,m,h;

pleaseentersearchnumber:

scanf("

w);

for(l=0,h=14;

;

m=(l+h)/2;

if(w==a[m])

break;

if(w>

a[m])

l=m+1;

if(w<

h=m-1;

if(l>

h)

if(l>

无此数\n"

if(w==a[m])

itisat%d\n"

m+1);

【程序8】

有一篇文章,共有3行文字,每行有个80字符。

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

w:

GmTP7u0#include<

string.h>

chara[3][81];

inti,j,len;

intnum[5]={0,0,0,0,0};

gets(a[i]);

len=strlen(a[i]);

len;

if(a[i][j]>

='

a'

a[i][j]<

z'

num[0]++;

elseif(a[i][j]>

A'

Z'

num[1]++;

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

'

num[2]++;

1'

9'

num[3]++;

else

num[4]++;

英文小写字母、大写字母、空格、数字、其他字符的个数分别为%d,%d,%d,%d,%d\n"

num[0],num[1],num[2],num[3],num[4]);

51Testing软件测试网,f*@hISB4kP9G*Z【程序9】

打印以下图案 

51Testing软件测试网gxycuaHtF

* * * * * 

Y'

D(MsY'

Y0 

* * * * * 

Y+PQlx

I&

Qi_8n0 

51Testing软件测试网:

j+w+v8Sr

* * * * 

51Testing软件测试网5{~$tD/s}

v?

bFF'

dj0#include<

i;

"

*"

51Testing软件测试网,f*@hISB4kP9G*Z【程序10】

有一行电文译文下面规律译成密码:

K'

e4T5O-L)rj0A->

Z a->

51Testing软件测试网E7L7GQ#Nc

B->

Y b->

/[E;

^1Z:

H0C->

X c->

51Testing软件测试网*~3Z@!

T-T[F

… 

51Testing软件测试网1PYr!

_2g"

o~A`

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

非字母字符不变,要求编程序将密码回原文,并打印出密码和原文。

51Testing软件测试网b){hSs!

e3ua/a

inti;

charstr1[100],str2[100];

gets(str1);

str1[i]!

\0'

i++)

if(str1[i]>

str1[i]<

str2[i]=2*'

+25-str1[i];

/*str1[i]表示第(str1[i]-'

+1)个字母,变成(26-(str1[i]-'

+1)+1)个字母,对应的ASCII是26-(str1[i]-'

+1)+1+'

-1=2*'

A"

+25-str1[i]*/

elseif(str1[i]>

=97&

=122)

else

str2[i]=str1[i];

str2[i]='

miwenis:

%s\nyuanwenis:

%s\n"

str2,str1);

51Testing软件测试网,f*@hISB4kP9G*Z【程序11】

0nB.D.r;

Z0编一个程序,将两个字符串S1和S2比较,如果S1>

S2,输出一个正数;

S1=S2,输出0;

S1<

S2,输出一个负数。

不要用strcmp函数。

两个字符串用gets函数读入。

输出的正数或负数的绝对值应是相比较的两个字符串相对应字符的ASCII码的差值。

例如,’A’与’C’相比,由于’A’<

’C’,应输出负数,由于’A’与’C’的码差值为2,因此应输出"

-2"

同理:

And"

和"

Aid"

比较,根据第2个字符比较结果,’n’比’i’大5,因此应输出"

5"

51Testing软件测试网'

xwU5{"

b)~Y

intresult=0;

inti=0;

chara[20],b[20];

gets(a);

gets(b);

while(a[i]!

b[i]!

if(a[i]!

=b[i])

result=a[i]-b[i];

i++;

if(a[i]=='

result=-b[i];

elseif(a[i]!

b[i]=='

result=a[i];

返回值为%d\n"

result);

}#Qc]X.FK*UA0

4O;

c0u;

?

k,Q

MC;

Q051Testing软件测试网,f*@hISB4kP9G*Z【程序12】

编写一个程序,将字符数组s2中的全部字符拷贝到字符数组s1中,不用strcpy函数。

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

G-b4QT%N"

P&

{s0#include<

chara[20];

charb[20];

i=-1;

do

b[i]=a[i];

}while(a[i]!

拷贝后为%s\n"

b);

}51Testing软件测试网T3P4H"

Jvj6Gm;

Zxhg

【程序13】

从键盘输入若干个整数,其值在0至4范围内,用-1作为输入结束的标志。

统计每个整数的个数。

参考程序:

inti,s[5]={0},x;

Inputsomenumbers(between0to4):

x);

while(x!

=-1)

if(x>

=0&

x<

=4)

s[x]++;

=4;

%d:

%d\n"

i,s[i]);

【程序14】从键盘输入两个字符串a和b,要求不用库函数strcat把串b的前五个字符连接到串a中;

如果b的长度小于5,则把b的所有元素都连接到a中。

试编程。

chara[80],b[80];

inti=0,j;

Inputtwostrings:

while(a[i])i++;

for(j=0;

5&

b[j];

a[i++]=b[j];

a[i]='

puts(a);

【程序15】阿姆斯特朗数:

如果一个正整数等于其各个数字的立方和,则该数称为阿姆斯特朗数(亦称为自恋性数)。

如407=43+03+73就是一个阿姆斯特朗数。

试编程求1000以内的所有阿姆斯特朗数。

程序分析:

可采用穷举法,依次取1000以内的各数(设为i),将i的各位数字分解后,根据阿姆斯特朗数的性质进行计算和判断。

inti,t,k,a[3];

therearefollowingArmstrongnumbersmallerthan1000:

for(i=2;

i++)//穷举要判定数的范围

for(t=0,k=1000;

k>

t++)

a[t]=(i%k)/(k/10);

//截取整数的各位,分别赋于a[0]-a[2]

k/=10;

if(a[0]*a[0]*a[0]+a[1]*a[1]*a[1]+a[2]*a[2]*a[2]==i)

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

当前位置:首页 > 医药卫生 > 基础医学

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

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