C语言程序设计习题试题编程题docxWord文档格式.docx

上传人:b****2 文档编号:15092259 上传时间:2022-10-27 格式:DOCX 页数:25 大小:21.84KB
下载 相关 举报
C语言程序设计习题试题编程题docxWord文档格式.docx_第1页
第1页 / 共25页
C语言程序设计习题试题编程题docxWord文档格式.docx_第2页
第2页 / 共25页
C语言程序设计习题试题编程题docxWord文档格式.docx_第3页
第3页 / 共25页
C语言程序设计习题试题编程题docxWord文档格式.docx_第4页
第4页 / 共25页
C语言程序设计习题试题编程题docxWord文档格式.docx_第5页
第5页 / 共25页
点击查看更多>>
下载资源
资源描述

C语言程序设计习题试题编程题docxWord文档格式.docx

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

C语言程序设计习题试题编程题docxWord文档格式.docx

#include<

stdio.h>

voidmain()

{intclass1,class2,class3;

charch;

class1=class2=class3=0;

/*初始化分类计数器*/

do

{ch=getch();

switch(ch)

{case'

:

case'

case'

class1++;

break;

/*对分类1计数*/

class2++;

/*对分类2计数*/

default:

class3++;

/*对分类3计数*/

}

}while(ch!

='

\\'

);

/*字符'

在C程序中要使用转义符'

*/printf("

class1=%d,class2=%d,class3=%d\n"

class1,class2,class3);

2、从键盘输入十个整数,用插入法对输入的数据按照从小到大的顺序进行排序,将排序后的结

果输出。

{inti,j,num,a[10]

for(i=0

i<

10;

i++)

{printf("

EnterNo.%d:

"

i+1)

scanf("

%d"

&

num)

for(j=i-1

j>

=0&

&

a[j]>

num

j--)

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

a[j+1]=num;

printf("

No.%d=%d\n"

i+1,a[i])

3、输入一个正整数,要求以相反的顺序输出该数。

例如输入

12345,输出位

54321。

voidmain()

{intn;

printf("

Pleaseentern:

n);

while(n>

0)

n%10);

n=n/10;

4、编写程序,读入一个整数N;

若N为非负数,则计算N到2×

N之间的整数和;

若N为一个

负数,则求2×

N到N之间的整数和。

分别利用

for

while

写出两个程序。

{inti,n;

longs1=0,s2=0;

PleaseenterN:

if(n>

=0)

for(i=n;

=2*n

s1=s1+i;

else

i>

i--)

i=n;

if(i>

while(i<

=2*n)

s2=s2+i++;

while(i>

s2=s2+i--;

Result1=%ldresult2=%ld\n"

s1,s2)

5、一个自然数被8除余1,所得的商被

个商为a。

又知这个自然数被17除余

编写程序求这个自然数。

8除也余1,再将第二次的商被8除后余7,最后得到一

4,?

所得的商被17除余15,最后得到一个商是a的2倍。

{inti,n,a;

for(i=0;

{if(i%8==1)

{n=i/8;

if(n%8==1)

{n=n/8;

if(n%8==7)a=n/8;

if(i%17==4)

{n=i/17;

if(n%17==15)n=n/17;

if(2*a==n)

result=%d\n"

i);

break;

6、编写程序,输出用一元人民币兑换成

1分、2分和

5分硬币的不同兑换方法。

{intf1,f2,f5,count=0;

for(f5=0;

f5<

=20;

f5++)

for(f2=0;

f2<

=(100-f5*5)/2

{f1=100-f5*5-f2*2;

if(f5*5+f2*2+f1==100)

f2++)

No.%2d>

>

5:

%4d2:

%2d1:

%2d\n"

++count,f5,f2,f1);

7、将一个数的数码倒过来所得到的新数叫原数的反序数。

如果一个数等于它的反序数,则称它为对称数。

求不超过1993的最大的二进制的对称数。

{inti,j,n,k,a[16]={0};

for(i=1;

=1993;

{n=i;

k=0;

0)/*将十进制数转变为二进制数*/

{a[k++]=n%2;

n=n/2;

for(j=0;

j<

k;

j++)

if(a[j]!

=a[k-j-1])break

if(j>

=k)

%d:

"

%2d"

a[j]);

\n"

8、十个小孩围成一圈分糖果,老师分给第一个小孩10块,第二个小孩2块,第三个小

孩8块,第四个小孩22块,第五个小孩16块,第六个小孩4块,第七个小孩10块,第八个小孩6块,第九个小孩14块,第十个小孩20块。

然后所有的小孩同时将自己手中

的糖分一半给右边的小孩;

糖块数为奇数的人可向老师要一块。

问经过这样几次调整后大家手中的糖的块数都一样?

每人各有多少块糖?

{inti,count=0,a[11]={0,10,2,8,22,16,4,10,6,14,20};

while

(1)

{for(i=1;

=10;

i++)a[i-1]=a[i-1]/2+a[i]/2;

a[10]=a[10]/2+a[0];

if(a[i]%2==1)a[i]++;

if(a[i]!

=a[i+1])break;

if(i==10)break;

{a[0]=0;

count++;

count=%dnumber=%d\n"

count,a[1]);

9、输入5×

5的数组,编写程序实现:

(1)求出对角线上各元素的和;

(2)求出对角线上行、列下标均为偶数的各元素的积;

(3)找出对角线上其值最大的元素和它在数组中的位置。

{inti,j,s1=0,s2=1,a[5][5];

5;

%d%d:

i,j);

a[i][j]);

{for(j=0;

j++)printf("

%5d"

a[i][j]);

j=0;

{s1=s1+a[i][i];

if(i%2==0)s2=s2*a[i][i];

if(a[i][i]>

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

SUN=%d\nACCOM=%d\na[%d]=%d\n"

s1,s2,j,a[j][j]);

10、编写程序,以字符形式输入一个十六进制数,将其变换为一个十进制整数后输出。

#include"

stdio.h"

{inti,n=0,a[4]={0}

Pleaseenteradigit:

4&

(a[i]=getchar())!

\n'

i++)

4;

if(a[i]>

=48&

a[i]<

=57)a[i]=a[i]-48;

elseif(a[i]>

=65&

=69)a[i]=a[i]-55;

=97&

=102)a[i]=a[i]-87;

elseprintf("

inputError!

n=n*16+a[i];

n);

11、编写程序,输入一个十进制整数,将其变换为二进制后储存在一个字符数组中。

{inti,n,k=16,a[16]={0};

0)/*{a[--k]=n%2

将十进制数转变为二进制数;

*/

16;

a[i]);

12、对数组A中的N(0<N<100=个整数从小到大进行连续编号,输出各个元素的编号。

要求不能改变数组A中元素的顺序,且相同的整数要具有相同的编号。

例如数组是:

A=(5,3,4,7,3,5,6)则输出为:

(3,1,2,5,1,3,4)

{inti,j,k,n,m=1,r=1,a[2][100]={0}

n)

n;

a[%d]="

i)

a[0][i])

while(m<

=n)/*m记录已经登记过的数的个数

{for(i=0;

i++)/*记录未登记过的数的大小

{if(a[1][i]!

=0)/*

已登记过的数空过

continue

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

当前位置:首页 > 求职职场 > 面试

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

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