C语音题目01.docx

上传人:b****5 文档编号:8068556 上传时间:2023-01-28 格式:DOCX 页数:16 大小:17.93KB
下载 相关 举报
C语音题目01.docx_第1页
第1页 / 共16页
C语音题目01.docx_第2页
第2页 / 共16页
C语音题目01.docx_第3页
第3页 / 共16页
C语音题目01.docx_第4页
第4页 / 共16页
C语音题目01.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

C语音题目01.docx

《C语音题目01.docx》由会员分享,可在线阅读,更多相关《C语音题目01.docx(16页珍藏版)》请在冰豆网上搜索。

C语音题目01.docx

C语音题目01

/*-------------------------------------------------------

1【程序填空】

---------------------------------------------------------

题目:

下面函数为二分法查找key值。

数组中元素已递增排序,

若找到key则返回对应的下标,否则返回-1。

-------------------------------------------------------*/

#include

fun(inta[],intn,intkey)

{

intlow,high,mid;

low=0;

high=n-1;

/***********SPACE***********/

while(【low<=high】)

{

mid=(low+high)/2;

/***********SPACE***********/

if(key

/***********SPACE***********/

elseif(key>a[mid])【low=mid+1】;

/***********SPACE***********/

else【return(mid)】;

}

return-1;

}

voidmain()

{

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

intb,c;

b=4;

c=fun(a,10,b);

if(c==-1)printf("notfound");

elseprintf("position%d\n",c);

}

/*-------------------------------------------------------

2【程序填空】

---------------------------------------------------------

题目:

求n!

,n值由键盘输入。

-------------------------------------------------------*/

#include

voidmain()

{

intn,i;

floatt;

printf("pleaseinputn(n>=0):

");

/***********SPACE***********/

scanf("%d",【&n】);

i=1;

t=1.0;

/***********SPACE***********/

while(【i<=n】)

/***********SPACE***********/

{【t*=i】

i++;

}

printf("%d!

=%f",n,t);

}

a/*-------------------------------------------------------

3【程序填空】

---------------------------------------------------------

题目:

以下程序的功能是统计一个字符串中的字母、数字、空格、

和其它字符的个数。

-------------------------------------------------------*/

#include"stdio.h"

main()

{

chars1[80];inta[4]={0};

intk;

/***********SPACE***********/

【voidfun(chars[],int[])】;

gets(s1);

/***********SPACE***********/

【fun(s1,a)】;

puts(s1);

for(k=0;k<4;k++)

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

}

voidfun(chars[],intb[])

{

inti;

for(i=0;s[i]!

='\0';i++)

if('a'<=s[i]&&s[i]<='z'||'A'<=s[i]&&s[i]<='Z')b[0]++;

/***********SPACE***********/

elseif(【'0'<=s[i]&&s[i]<='9'】)b[1]++;

/***********SPACE***********/

elseif(【s[i]==32】)b[2]++;

elseb[3]++;

}

/*-------------------------------------------------------

4【程序填空】

---------------------------------------------------------

题目:

判断一个给定的整数是否为素数。

-------------------------------------------------------*/

#include

#include"math.h"

voidmain()

{intm,i,k;

scanf("%d",&m);

k=sqrt(m);

/***********SPACE***********/

for(i=2;【i<=k】;i++)

/***********SPACE***********/

if(【m%i==0】)break;

/***********SPACE***********/

if(【i>k】)

printf("Yes\n");

else

printf("No\n");

}

/*-------------------------------------------------------

5【程序填空】

---------------------------------------------------------

题目:

以下程序的功能:

计算并输出500以内最大的10个能被

13或17整除的自然数之和。

-------------------------------------------------------*/

#include

/***********SPACE***********/

intfun(【intk】)

{

intm=0,mc=0;

/***********SPACE***********/

while(k>=2&&【mc<10】)

{

/***********SPACE***********/

if(k%13==0||【k%17==0】)

{m=m+k;mc++;}

k--;

}

/***********SPACE***********/

【return(m)】;

}

voidmain()

{

printf("%d\n",fun(500));

}

/*-------------------------------------------------------

6【程序填空】

---------------------------------------------------------

题目:

输入N个数据存入数组中,将其倒置存放,并打印输出。

-------------------------------------------------------*/

#include

#defineN10

voidmain()

{inti,t,a[N];

printf("Enter%dNumbers:

\n",N);

for(i=0;i

/***********SPACE***********/

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

/***********SPACE***********/

for(i=0;i<【N/2】;i++)

{t=a[i];

/***********SPACE***********/

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

a[N-i-1]=t;

}

for(i=0;i

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

}

/*-------------------------------------------------------

7【程序填空】

---------------------------------------------------------

题目:

输出Fibonacci数列的前15项,要求每行输出5项。

Fibonacci数列:

1,1,2,3,5,8,13...........

-------------------------------------------------------*/

#include

voidmain()

{

/***********SPACE***********/

int【fib】[15],i;

fib[0]=1;fib[1]=1;

for(i=2;i<15;i++)

/***********SPACE***********/

fib[i]=【fib[i-2]+fib[i-1]】;

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

{

printf("%d\t",fib[i]);

/***********SPACE***********/

if(【i%5==4】)printf("\n");

}

}

/*-------------------------------------------------------

8【程序填空】

---------------------------------------------------------

题目:

以下程序的功能是求100-999之间的水仙花数(水仙花数

是指一个三位数的各个位数字的立方和是这个数本身,

如:

153=1^3+5^3+3^3)。

-------------------------------------------------------*/

#include

intfun(intn)

{inti,j,k,m;

m=n;

/***********SPACE***********/

【k=0;】

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

{

/***********SPACE***********/

【j=m%10;】

m=(m-j)/10;

k=k+j*j*j;

}

/***********SPACE***********/

if(k==n)【return

(1);】

elsereturn(0);}

voidmain()

{

inti;

for(i=100;i<1000;i++)

/***********SPACE***********/

if(【fun(i)】==1)printf("%disok!

\n",i);

}

/*-------------------------------------------------------

9【程序填空】

---------------------------------------------------------

题目:

某次大奖赛,有10个评委打分,下面的程序是对一名参赛者评分,输入10个评

委的打分分数,去掉一个最高分,一个最低分后,求出平均分即为该参赛者的得分。

-------------------------------------------------------*/

#include

voidmain()

{

floatmark,max,min,aver=0.0,sum=0.0;

inti;

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

{printf("输入第%d位评委的打分\n",i);

scanf("%f",&mark);

if(i==1)

{max=mark;

/***********SPACE***********/

【min=mark】;

}

elseif(mark

min=mark;

/***********SPACE***********/

elseif(【mark>max】)

max=mark;

/***********SPACE***********/

【sum+=mark】;

}

aver=(sum-max-min)/8;

printf("TheAveragescoreis%f\n",aver);

}

/*-------------------------------------------------------

10【程序填空】

---------------------------------------------------------

题目:

输出9*9口诀。

-------------------------------------------------------*/

#include

voidmain()

{inti,j,result;

printf("\n");

/***********SPACE***********/

for(i=1;【i<10】;i++)

/***********SPACE***********/

{for(j=1;j<10;【j++】)

{

result=i*j;

/***********SPACE***********/

printf("%d*%d=%-3d",i,j,【result】);

}

printf("\n");

}

}

/*-------------------------------------------------------

11【程序填空】

---------------------------------------------------------

题目:

用辗转相除法求两个整数的最大公约数、最小公倍数。

-------------------------------------------------------*/

#include

voidmain()

{intn,m,nm,r,t;

printf("Enterm,n=?

");

scanf("%d%d",&m,&n);

nm=n*m;

if(m

{t=m;m=n;n=t;}

r=m%n;

/***********SPACE***********/

while(【r!

=0】)

{m=n;

/***********SPACE***********/

【n=r;】

/***********SPACE***********/

【r=m%n;】

}

printf("ThemaxGyshu=%d\n",n);

/***********SPACE***********/

printf("TheminGbshu=%d\n",【nm/n】);

}

/*-------------------------------------------------------

12【程序填空】

---------------------------------------------------------

题目:

以下程序的功能是将一个数组中的元素按逆序存放。

-------------------------------------------------------*/

#defineN7

#include

voidmain()

{

staticinta[N]={12,9,16,5,7,2,1},k,s;

printf("\ntheoriganalarray:

\n");

for(k=0;k

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

/***********SPACE***********/

for(k=0;k<【N/2】;k++)

{

s=a[k];

/***********SPACE***********/

【a[k]=a[N-k-1]】;

/***********SPACE***********/

【a[N-k-1]=s】;

}

printf("\nthechangedarray:

\n");

for(k=0;k

/***********SPACE***********/

【printf】("%4d",a[k]);

}

/*-------------------------------------------------------

13【程序填空】

---------------------------------------------------------

题目:

输入3个整数,输出最大数。

-------------------------------------------------------*/

#include

voidmain()

{inta,b,c,max;

printf("inputthreenumbers:

");

scanf("%d%d%d",&a,&b,&c);

/***********SPACE***********/

if(【a>b】)

max=a;

/***********SPACE***********/

【else】

max=b;

if(max

/***********SPACE***********/

【max=c;】

printf("max=%d\n",max);

}

/*-------------------------------------------------------

14【程序填空】

---------------------------------------------------------

题目:

输入三个整数x,y,z,请把这三个数由小到大输出。

-------------------------------------------------------*/

#include

voidmain()

{intx,y,z,t;

scanf("%d%d%d",&x,&y,&z);

if(x>y)

/***********SPACE***********/

{【t=x;x=y;y=t;】}

if(x>z)

/***********SPACE***********/

{【t=z;z=x;x=t;】}

if(y>z)

/***********SPACE***********/

{【t=y;y=z;z=t;】}

printf("smalltobig:

%d%d%d\n",x,y,z);

}

/*-------------------------------------------------------

15【程序填空】

---------------------------------------------------------

题目:

打印出如下图案(菱形)

*

***

*****

*******

*****

***

*

-------------------------------------------------------*/

#include

voidmain()

{

inti,j,k;

/***********SPACE***********/

for(i=0;【i<4】;i++)

{

for(j=0;j<=4-i;j++)

printf("");

/***********SPACE***********/

for(k=1;k<=【2*i+1】;k++)

printf("*");

printf("\n");

}

/***********SPACE***********/

for(【j=0】;j<3;j++)

{

for(k=0;k

printf("");

/***********SPACE***********/

for(k=0;k<【5-2*j】;k++)

printf("*");

printf("\n");

}

}

_

/*-------------------------------------------------------

16【程序填空】

---------------------------------------------------------

题目:

以下程序的功能:

计算并输出high以内最大的10个素数

之和,high由主函数传给fun函数,若high的值为100,

则函数的值为732。

-------------------------------------------------------*/

#include

#include

intfun(inthigh)

{

intsum=0,n=0,j,yes;

/***********SPACE***********/

while((high>=2)&&(【n<10】))

{

yes=1;

for(j=2;j<=high/2;j++)

/***********SPACE***********/

if(【high%j==0】)

/***********SPACE***********/

{yes=0;【break】;}

if(yes)

{sum+=high;n++;}

high--;

}

/***********SPACE***********/

【return(sum)】;

}

voidmain()

{

printf("%d\n",fun(100));

}

/*-------------------------------------------------------

17【程序填空】

---------------------------------------------------------

题目:

输入如下形式的二项式系数列标。

要求表的行数运行时输入,

若小于1

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

当前位置:首页 > 工作范文 > 行政公文

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

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