C语言程序常考题doc.docx

上传人:b****2 文档编号:24349415 上传时间:2023-05-26 格式:DOCX 页数:16 大小:18.19KB
下载 相关 举报
C语言程序常考题doc.docx_第1页
第1页 / 共16页
C语言程序常考题doc.docx_第2页
第2页 / 共16页
C语言程序常考题doc.docx_第3页
第3页 / 共16页
C语言程序常考题doc.docx_第4页
第4页 / 共16页
C语言程序常考题doc.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

C语言程序常考题doc.docx

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

C语言程序常考题doc.docx

C语言程序常考题doc

1将成绩分为A,B,C等的程序

#include

voidmain()

{

intscore;

chargrade;

printf("Pleaseinputascore:

\n");

scanf("%d",&score);

grade=score>=90?

'A':

(score>=60?

'B':

'C');

printf("%dbelongsto%c\n",score,grade);

}

2判断是数字,字母,还是其他字符

#include

voidmain()

{

charc;

printf("Pleaseinputacharacter:

");

c=getchar();

if(c>='A'&&c<='Z'||c>='a'&&c<='z')

printf("%cisletter\n",c);

elseif(c>='0'&&c<='9')

printf("%cisdigit\n",c);

else

printf("%cisothercharacter\n",c);

}

3三角形面积

#include

#include

voidmain()

{

floata,b,c,s,area;

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

s=(a+b+c)/2.0;

area=sqrt(s*(s-a)*(s-b)*(s-c));

printf("a=%7.2f,b=%7.2f,c=%7.2f\n",a,b,c);

printf("area=%7.2f,s=%7.2f\n",area,s);

}

4输入数字,即可得到相应星期单词

#include

voidmain()

{

intx;

printf("Inputintegernumber:

");

scanf("%d",&x);

switch(x)

{case1:

printf("Monday\n");break;

case2:

printf("Tuesday\n");break;

case3:

printf("Wednesday\n");break;

case4:

printf("Thursday");break;

case5:

printf("Friday\n");break;

case6:

printf("Saturday\n");break;

case7:

printf("Sunday\n");break;

default:

printf("error\n");

}

}

5圆的周长,面积,球的体积,表面积,圆柱体积

#include

#definePI3.1415926

voidmain()

{floatr,h,l,s,sq,vq,vz;

printf("请输入圆半径r,圆柱高h:

\n");

scanf("%f,%f",&r,&h);

l=2*PI*r;

s=PI*r*r;

sq=4*PI*r*r;

vq=4.0/3.0*PI*r*r*r;

vz=PI*r*r*h;

printf("圆周长:

l=%6.2f\n",l);

printf("圆面积:

s=%6.2f\n",s);

printf("圆球表面积:

sq=%6.2f\n",sq);

printf("圆球体积:

sv=%6.2f\n",vq);

printf("圆柱体积:

sz=%6.2f\n",vz);

}

6某分段函数,输入X求解Y的值

#include

voidmain()

{

floatx,y;

printf("Pleaseinputx:

");

scanf("&f",&x);

if(x<-1)

y=1;

else

if(x<=1)

y=2*x-5;

else

y=5*x*x-1;

printf("y=%10f\n",y);

}

7比较输入的两个数,并输出较大值

#include

voidmain()

{

floatx,y,max;

printf("Pleaseinputtwonumberx,y:

");

scanf("%f,%f",&x,&y);

if(x>y)

max=x;

else

max=y;

printf("max=%7.2f",max);

}

例5.10 求两个整数的最大公约数和最小公倍数。

#include

void main( )

{

int m,n,p,t,r;

scanf(“%d,%d”,&m,&n);

if(n

{

t=n;

n=m;

m=t;

}

p=m*n;

while(m!

=0)

{

r=n%m;

n=m;

m=r;

}

printf(“m和n的最大公约数:

%d\n”,n);

printf(“m和n的最小公倍数:

%d\n”,p/n);

}

课后2、计算1-10之间的奇数和偶数之和并分别输出。

#include

void main( )

{

int  a,b,c,i;

a=c=0;

for(i=0;i<=10;i+=2;)

{

a+=I;

b=i+1;

c+=b;

}

printf(“偶数之和=%d\n”,a);

printf(“奇数之和=%d\n”,c-11);

}

3、求100-200间的全部素数并输出,输出十个数后换行。

#include

#include

void main( )

{

int m,flag,i,n;

for(m=101;m<200;m=m+2;)

{

flag=1;

for(i=2;i

if(m%i==0)

{

flag=0;

break;

}

if(flag= =1)

{printf(“%d”,m);

N=n+1

}

If(n%10==0) printf(“\n”);

}

 }

4、输出100以内能被3整除且个位数为6的所有整数。

#include

void main( )

{

int i,j;

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

{

j=i*10+6;

if(j%3!

=0)   continue;

printf(“%d”,j);

}

printf(“%\n”);

}

例6.4应用冒泡排序法将数组中的五个数据按升序排列。

#include

void main( )

{

int i,j,t,a[5];

printf(“please input the array:

”);

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

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

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

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

if(a[j]>a[j+1])

{

t=a[j];

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

a[j+1]=t;

}

printf(“the result is:

”);

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

printf(“%d”,a[i]);

printf(“\n”)

}

例6.7将3*4的二维数组中的第0列和最后一列的元素的数值交换,第一列和第二列元素的值相交换。

#include

void main( )

{

int a[3][4]={{5,8,9,1},{4,2,6,7},{12,13,14,10}},i,j,k;

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

for(j=0;j<4/2;j++)

{

k=a[i][j];

a[i][j]=a[i][3-j];

a[i][3-j]=k;

}

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

{

printf(“\n”);

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

printf(“%4d”,a[i][j]);

}

printf(“\n”);

}

例6.8求3*3矩阵主对角线和次对角线上各元素之和。

#include

void main( )

{

int a[3][3]={{1,2,3},{4,5,6},{7,8,9}},I,j,sum=0;

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

sum+=a[i][j];

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

for(j=2;j>=0;j--)

if(i+j==2)

sum+= a[i][j];

sum=sum-a[3/2][3/2];

printf(“sum=%d\n”,sum);

}

请编写函数fun,其功能是求2+4+6+8+…+20的和

#include

voidNONO();

intfun()

{

intsum=0;

for(inti=2;i<21;i++)

{sum+=i;

i++;}

returnsum;

}

voidmain()

{

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

NONO();

}

voidNONO()

{FILE*wf;

wf=fopen("j5.out","w");

fprintf(wf,"%d\n",fun());

fclose(wf);

}

用指向二维数组元素的指针变量,找出二维数组中值最大的元素,并指出。

#include

voidmain()

{

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

int*p;

intmax;

max=a[0][0];

for(p=&a[0][0];p<&a[0][0]+12;p++)

if(*p>max)max=*p;

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

}

用字符型指针变量输出字符数组中的字符串

#include

voidmain()

{

chars[]="HELLO!

";

char*p;

p=s;

while(*p!

='\0')

{

printf("%c",*p);

p++;

}

printf("\n");

}

定义一个求字符串长度的函数,输出由键盘输入的字符串的长度。

#include

#include

intmystrlen(char*s)

{

intlen=0;

while(*s++)

len++;

returnlen;

}

voidmain()

{

intk;

chara[80];

gets(a);

k=mystrlen(a);

printf("%d\n",k);

}

把“FORTRAN”、“BASIC”、“C++”、“VB”、“C”五个字符串,用指针数组存放它们的首地址,并用指向指针的指针变量把它们输出。

#include

voidmain()

{

inti;

char*c[5]={"FORTRAN","BASIC","C++","VB","C"};

char**p;

p=c;

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

{

printf("%s\n",*p);

p++;

}

}

调用max函数返回数组各元素中值最大的元素地址。

#include

int*max(intb[],intn)

{

inti,*q=b;

for(i=1;i

if(*q

returnq;

}

voidmain()

{

int*p,a[10]={-7,5,19,13,14,38,-2,11,10,-6};

p=max(a,10);

printf("max:

%d\n",*p);

}

用指针变量指向一维数组中的最大值,并输出最大值。

#include

voidmain()

{

inta[8]={-2,8,9,12,15,17,25,-8};

inti,*p;

p=a;

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

if(*p

printf("%d\n",*p);

}

例4.9编写程序,判断某一年是否是闰年

#include

voidmain()

{

intyear,flag;

printf(“Pleaseinputyear:

”);

scanf(“%d”,&year);

if(year%4==0)

{

if(year%100==0)

{

if(year%400==0)

flag=1;

else

flag=0;

}

else

flag=1;

}

else

flag=0;

if(flag)

printf(“%disaleapyear\n”,year);

else

printf(“%disnotaleapyear\n”,year);

}

2.输出一个字符,判别它是否是大写字母,如果是大写字母,将其转换为小写字母,否则就不转换,最后输出

#include

voidmain()

{

charch;

scanf(“%c”,&ch);

ch=(ch>=’A’&&ch<=’Z’?

(ch+32):

ch);

printf(“%c”,ch);

}

3.有一个函数:

y={

x(x<1)

2x-1(1<=x<10)

3x-11(x>=10)

根据该分段函数写程序,输入一个x,输出对应y的值

#include

voidmain()

{

floatx,y;

printf(“Pleaseinputx:

”);

scanf(“%f”,&x);

if(x<1)

y=x;

elseif(x<10)

y=2*x-1;

else

y=3*x-11;

printf(“y=%10f\n”,y);

}

例5.4任意输入10个整数,找出其中最大值并输出

#include

voidmain()

{

inta,max;

inti;

scanf(“%d”,&a);

max=a;

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

{

scanf(“%d”,&a);

if(a>max)max=a;

}

printf(“max=%d\n”,max);

}

例5.5输入一个大于3的整数给m,判断m是否为素数

#include

#include

voidmain()

{

intm,i,flag;

printf(“请输入要判断的正整数m;”);

scanf(“%d”,&m);

flag=1;

for(i=2;i<=sqrt(m);i++)

if(m%i==0)

{

flag=0;

break;

}

if(flag==1)

printf(“%d是素数\n”,m);

else

printf(“%d不是素数\n”,m);

}

例5.6将300~400之间既能被3整除,又能被5整除的数输出,要求一行输出5个数

#include

voidmain()

{

intn,i=0;

for(n=300;n<=400;n++)

{

if(n%3!

=0||n%5!

=0)

continue;

printf(“6%d”,n);

i++;

if(i%5==0)printf(“\n”);

}

printf(“\n”);

}

例5.7输出如图所示的九九乘法口诀

#include

voidmain()

{

inti,j;

for(i=1,i<=9;i++)

{for(j=1;j<=i;j++)

printf(“%d*%d=%2d”,i,j,i*j);

printf(“\n”);

}

}

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

当前位置:首页 > 农林牧渔

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

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