C程序设计编程题.docx

上传人:b****7 文档编号:10803860 上传时间:2023-02-23 格式:DOCX 页数:53 大小:24.25KB
下载 相关 举报
C程序设计编程题.docx_第1页
第1页 / 共53页
C程序设计编程题.docx_第2页
第2页 / 共53页
C程序设计编程题.docx_第3页
第3页 / 共53页
C程序设计编程题.docx_第4页
第4页 / 共53页
C程序设计编程题.docx_第5页
第5页 / 共53页
点击查看更多>>
下载资源
资源描述

C程序设计编程题.docx

《C程序设计编程题.docx》由会员分享,可在线阅读,更多相关《C程序设计编程题.docx(53页珍藏版)》请在冰豆网上搜索。

C程序设计编程题.docx

C程序设计编程题

1.abc为一位整数求满足abc加cba等于1333的各值

#include

voidmain()

{

inta,b,c;

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

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

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

if(100*(a+c)+20*b+a+c==1333)

printf("a=%db=%dc=%d\n",a,b,c);

}

2,a加a的平方加到a的n次方

#include

voidmain()

{

inta,n,i;

longk=1,s=0;

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

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

{

k=k*a;

s=s+k;

}

printf("a=%dn=%d\ns=%ld\n",a,n,s);

}

3,插入数据到数组

#include

voidmain()

{

inta[11]={1,4,6,9,13,16,19,28,40,100};

inttemp1,temp2,num,end,i,j;

printf("初始数组如下:

");

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

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

printf("\n");

printf("输入插入数据:

");

scanf("%d",&num);

end=a[9];

if(num>end)

a[10]=num;

else

{

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

if(a[i]>num)

{

for(j=9;j>=i;j--)

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

a[i]=num;

break;

}

}

for(i=0;j<11;i++)

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

printf("\n");

}

4,从键盘输入一个字符串,再输入两个正整数m和n,输出字符串中从m开始,连续n个字符。

例如:

输入abcdefg,2,3,输出bcd

#include

voidmain()

{

chara[100];

gets(a);

intm,n,i;

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

for(i=m-1;i

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

printf("\n");

}

5,大小写字母的转换

#include

voidmain()

{

charc1,c2;

c1='a';

c2='b';

c1=c1-32;

c2=c2-32;

printf("%c%c",c1,c2);

}

6,递归法求n!

#include

voidmain()

{

floatfac(intn);

intn;

floaty;

printf("inputanintegernumber:

");

scanf("%d",&n);

y=fac(n);

printf("%d!

=%10.0f\n",n,y);

}

floatfac(intn)

{

floatf;

if(n<0)

{

printf("n<0,dataerror!

");

}

else

if(n==0||n==1)

f=1;

else

f=fac(n-1)*n;

return(f);

}

7,对角线元素之和

#include

voidmain()

{

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

inti,j;

printf("请输入矩阵元素:

\n");

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

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

scanf("%f",a[i][j]);

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

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

printf("对角元素之和=6.2f",sum);

}

8,给一个不多于5位的正整数,要求1求它是几位数2分别打印出每一位数字

#include

voidmain()

{

longintnum;

intplace;

printf("请输入一个整数(0~99999):

");

scanf("%ld",&num);

if(num>9999)

place=5;

elseif(num>999)

place=4;

elseif(num>99)

place=3;

elseif(num>9)

place=2;

elseplace=1;

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

printf("每位数字为:

");

}

9,猴子摘桃

#include

voidmain()

{

intday,x1,x2;

day=9;

x2=1;

while(day>0)

{

x1=(x2+1)*2;

x2=x1;

day--;

}

printf("total=%d\n",x1);

}

10,计算并输出1—200之间不能被5整除的整数之和

#include

voidmain()

{

inti,sum=0;

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

if(i%5!

=0)sum=sum+i;

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

}

11,将输入的一个字符串中的a用xinghao代替输出

#include

voidmain()

{

charstr[10];

inti;

scanf("%s",str);

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

if(str[i]=='a')

str[i]='*';

puts(str);

}

12,将一个大写字母改用小写输出

#include

voidmain()

{

charc1,c2;

c1=getchar();

printf("%c,%d\n",c1,c1);

c2=c1+32;

printf("%c,%d\n",c2,c2);

}

13,将一个数组逆序存放

#include

#defineN5

voidmain()

{

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

printf("enterarray:

\n");

for(i=0;i

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

printf("arraya:

\n");

for(i=0;i

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

for(i=0;i

{

temp=a[i];

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

a[N-i-1]=temp;

}

printf("\nNow,arraya:

\n");

for(i=0;i

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

printf("\n");

}

14,矩阵的行列互换

#include

#defineN3

intarray[N][N];

voidmain()

{

voidconvert(intarray[][3]);

inti,j;

printf("intputarray:

\n");

for(i=0;i

for(j=i+1;j

scanf("%d",array[i][j]);

printf("\noriginalarray:

\n");

for(i=0;i

{

for(j=0;j

printf("%5d",array[i][j]);

printf("\n");

}

}

voidconvert(intarray[][3])

{

inti,j,t;

for(i=0;i

for(j=i+1;j

{

t=array[i][j];

array[i][j]=array[j][i];

array[j][i]=t;

}

}

15,连接两个字符串

#include

voidmain()

{

chars1[80],s2[40];

inti=0,j=0;

printf("\n请输入字符串1:

");

scanf("%s",s1);

printf("\n请输入字符串2:

");

scanf("%s",s2);

while(s1[i]!

='\0')

i++;

while(s2[j]!

='\0')

s1[i++]=s2[j++];

s1[i]='\0';

printf("\n连接后字符串为:

%s",s1);

}

16,判断m是否为素数

#include

#include

voidmain()

{

intm,i,k;

scanf("%d",&m);

k=sqrt(m);

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

if(m%i==0)break;

if(i>k)printf("%disaprimenumber\n",m);

elseprintf("%disnotaprimenumber\n",m);

}

17,判断整数是否为素数

#include

voidmain()

{

intprime(int);

intn;

printf("\nintputaninteger:

");

scanf("%d",&n);

if(prime(n))

printf("\n%disaprime.\n",n);

else

printf("\n%disnotaprime.\n",n);

}

intprime(intn)

{

intflag=1,i;

for(i=2;i

if(n%i==0)

flag=0;

return(flag);

}

18,起泡法排序

#include

#include

#defineN10

charstr[N];

voidmain()

{

voidsort(char[]);

inti,flag;

for(flag=1;flag==1;)

{

printf("intputstring:

\n");

scanf("%s",&str);

if(strlen(str)>N)

printf("stringtoolong,intputagain!

");

else

flag=0;

}

sort(str);

printf("stringsorted:

");

for(i=0;i

printf("%c",str[i]);

printf("\n");

}

voidsort(charstr[])

{

inti,j;

chart;

for(j=1;j

for(i=0;(i

='\0');i++)

if(str[i]>str[i+1])

{

t=str[i];

str[i]=str[i+1];

str[i+1]=t;

}

}

19,求1!

+2!

+++20!

#include

voidmain()

{

floats=0,t=1;

intn;

for(n=1;n<=20;n++)

{

t=t*n;

s=s+t;

}

printf("1!

+2!

+3!

+...+20!

=%e\n",s);

}

20,求1到100的和

#include

voidmain()

{

inti,sum=0;

i=1;

while(i<=100)

{

sum=sum+i;

i++;

}

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

}

21,求1到100的和加上1到50的平方和再加上1到10的倒数和

#include

voidmain()

{

intn1=100,n2=50,n3=10;

floatk;

floats1=0,s2=0,s3=0;

for(k=1;k<=n1;k++)

s1=s1+k;

for(k=1;k<=n2;k++)

s2=s2+k*k;

for(k=1;k<=n3;k++)

s3=s3+1/k;

printf("sum=%8.2f\n",s1+s2+s3);

}

22,求5!

#include

voidmain()

{

intt=1,i=2;

do

{

t=t*i;

i++;

}

while(i<=5);

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

}

23,求100~200间的全部素数

#include

#include

voidmain()

{

intm,k,i,n=0;

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

{

k=sqrt(m);

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

if(m%i==0)

break;

if(i>=k+1)

{

printf("%d",m);

n=n+1;

}

if(n%10==0)

printf("\n");

}

printf("\n");

}

24,求100之内能被17整除的最大的数

#include

voidmain()

{

inti;

for(i=100;i>=1;i--)

if(i%17==0)

{

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

break;

}

}

25,求Fibonacci数列的前40个数

一、

#include

voidmain()

{

longintf1,f2;

inti;

f1=1;f2=1;

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

{

printf("%12ld%12ld",f1,f2);

if(i%2==0)

printf("\n");

f1=f1+f2;

f2=f2+f1;

}

}

二、

#include

voidmain()

{

longintf1,f2,t;

inti;

f1=1;f2=1;

printf("%12ld%12ld",f1,f2);

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

{

t=f1+f2;

printf("%12ld",t);

if(i%4==0)

printf("\n");

f1=f2;

f2=t;

}

}

26,求m和n的最大公约数和最小公倍数

#include

voidmain()

{

intp,r,n,m,temp;

printf("请输入两个正整数:

");

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

if(n

{

temp=n;

n=m;

m=temp;

}

p=n*m;

while(m!

=0)

{

r=n%m;

n=m;

m=r;

}

printf("它们的最大公约数为:

%d\n",n);

printf("它们的最小公倍数为:

%d\n",p/n);

}

27.求Sn的值

#include

voidmain()

{

intp,r,n,m,temp;

printf("请输入两个正整数:

");

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

if(n

{

temp=n;

n=m;

m=temp;

}

p=n*m;

while(m!

=0)

{

r=n%m;

n=m;

m=r;

}

printf("它们的最大公约数为:

%d\n",n);

printf("它们的最小公倍数为:

%d\n",p/n);

}

28、求两数之和

#include

voidmain()

{

floatadd(floatx,floaty);

floata,b,c;

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

c=add(a,b);

printf("sumis%f\n",c);

}

floatadd(floatx,floaty)

{

floatz;

z=x+y;

return(z);

}

29,求满足1到n的平方的和小于等于800的最大的n值

#include

voidmain()

{

inti,n,sum=0;

for(i=1;;i++)

{

sum+=i*i;

if(sum>800)break;

}

n=i-1;

printf("最大n=%d\n",n);

}

29,求数列的前20项之和

#include

voidmain()

{

inti,t,n=20;

floata=2,b=1,s=0;

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

{

s=s+a/b;

t=a;

a=a+b;

b=t;

}

printf("sum=%9.6f\n",s);

}

30,求五个数是几位数,各位数字逆序输出

#include

voidmain()

{

inti,a,b,c,d,e;

scanf("%d",&i);

if(i>=100000)printf("error\n");

elseif(i>9999)printf("它是一个五位数");

elseif(i>999)printf("它是一个四位数");

elseif(i>99)printf("它是一个三位数");

elseif(i>9)printf("它是一个二位数");

elseprintf("它是一个一位数");

printf("\n");

a=i/10000,b=i/1000-a*10,c=i/100-b*10-a*100,

d=i/10-c*10-b*100-a*1000,e=i%10;

if(a==0)

{

if(b==0)

{

if(c==0)

{

if(d==0)printf("%d",e);

elseprintf("%d%d",e,d);

}

elseprintf("%d%d%d",e,d,c);

}

elseprintf("%d%d%d%d",e,d,c,b);

}

elseprintf("%d%d%d%d%d",e,d,c,b,a);

printf("\n");

}

31,求一维数组内10个学生的平均成绩

#include

voidmain()

{

floataverage(floatarray[10]);

floatscore[10],aver;

inti;

printf("input10scores:

\n");

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

scanf("%f",&score[i]);

printf("\n");

aver=average(score);

printf("averagescoreis%5.2f\n",aver);

}

floataverage(floatarray[10])

{

inti;

floataver,sum=array[0];

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

sum=sum+array[i];

aver=sum/10;

return(aver);

}

32,求~~~的前十五项之和

#include

voidmain()

{

floata[16],b[15],sum=0.0;

inti;

a[0]=1,a[1]=2;

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

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

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

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

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

sum+=b[i];

printf("sum=%f\n",sum);

}

33,求圆周长圆面积圆球表面积圆球体积圆柱体积

#include

voidmain()

{

floath,r,l,s,sq,vq,vz;

floatpi=3.1415926;

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

");

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

l=2*pi*r;

s=r*r*pi;

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("圆球体积为:

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

printf("圆柱体积为:

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

}

34、球从高处落下的反弹

#include

voidmain()

{

floatsn=100,hn=sn/2;

intn;

for(n=2;n<=10;n++)

{

sn=sn+2*hn;

hn=hn/2;

}

printf("第十次落地时共经过%fm。

\n",sn);

printf("第十次反弹%fm。

\n",hn);

}

35、三个学生四门成绩,求每个学生的总成绩和平均成绩

#include

voidmain()

{

inta[3][4]={60,70,65,75,75,80,75,90,95,

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

当前位置:首页 > 高等教育 > 哲学

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

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