编程题库.docx

上传人:b****8 文档编号:10517880 上传时间:2023-02-17 格式:DOCX 页数:41 大小:22.01KB
下载 相关 举报
编程题库.docx_第1页
第1页 / 共41页
编程题库.docx_第2页
第2页 / 共41页
编程题库.docx_第3页
第3页 / 共41页
编程题库.docx_第4页
第4页 / 共41页
编程题库.docx_第5页
第5页 / 共41页
点击查看更多>>
下载资源
资源描述

编程题库.docx

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

编程题库.docx

编程题库

1.判断一个数是否为质数

#include

voidmain()

{

intf,a,n;

f=2;

scanf("%d",&n);

a=2;

while(a

{if(n%a!

=0)

;

else

f=1;

a++;

}

if(f==1)

printf("bushizhishu");

else

printf("shizhishu");

}

2.输出100以内所有的质数

#include

voidmain()

{

intf,a,n;

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

{

a=2;

f=2;

while(a

{if(n%a!

=0)

;

else

f=1;

a++;

}

if(f==2)

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

}

}

3.输出九九乘法表

#include

voidmain()

{

inti,j,k;

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

{

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

{

k=j*i;

printf("%d*%d=%d",j,i,j*i);

}printf("\n");

}

}

4.输出1~n的阶乘之和

#include

voidmain()

{

intn,s,i,t;

scanf("%d",&n);

s=0;

t=1;

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

{

t=t*i;

s=s+t;

}

printf("%d",s);

}

5 图形

.#include

voidmain()

{

inti,j,k;

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

{

for(j=1;j<=3-i;j++)

printf("");

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

printf("*");

printf("\n");

}

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

{

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

printf("");

for(k=1;k<=5-2*i;k++)

printf("*");

printf("\n");

}

}

6.将一个数组中的元素逆序存放后输出

#include

#defineN7

voidmain()

{

inta[N],i,k,t;

for(i=0;i

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

k=N/2;

for(i=0;i

{t=a[i];

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

a[N-1-i]=t;

}

for(i=0;i

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

printf("\n");

}

7.向已排好升序的数组中插入一个数

#include

voidmain()

{

inta[6],i,n,k;

printf("请按升序输入5个整数:

");

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

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

printf("请在输入1个整数:

");

scanf("%d",&n);

k=5;

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

{

if(a[i]>n)

{

k=i;

break;

}

}

for(i=5;i>k;i--)

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

a[k]=n;

printf("插入结果:

");

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

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

printf("\n");

}

8.起泡法升序输出数组

#include

voidmain()

{

inti,j,t,a[10];

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

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

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

{

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

{

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

{

t=a[j];

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

a[j+1]=t;

}

}

}

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

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

printf("\n");

}

9.用选择法升序输出数组

#include

voidmain()

{

inti,j,k,t,a[10];

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

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

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

{

k=i-1;

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

{

if(a[j]

k=j;

}

if(k!

=i-1)

{

t=a[k];

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

a[i-1]=t;

}

}

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

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

printf("\n");

}

10.2*3的数组行列对调

#include

voidmain()

{

inti,j,a[2][3],b[3][2];

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

{

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

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

}

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

{

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

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

}

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

{

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

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

printf("\n");

}

}

11.统计字符串中包含的单词个数

#include

#include

voidmain()

{

charc[100];

intnumber,i,n;

gets(c);

n=strlen(c);

number=0;

if(n>0)

{

for(i=0;i

{

if(c[i]==''&&c[i+1]!

='')

number++;

}

number++;

}

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

}

12.编写一个函数,求最大公约数

#include

intmaxgs(inta,intb)

{

inti,k;

i=a;

while(i>=1)

{

if(a%i==0&&b%i==0)

{

k=i;

break;

}

i--;

}

returnk;

}

voidmain()

{

intx,y,m;

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

m=maxgs(x,y);

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

}

13.求N个数阶乘之和用函数

#include

intf(intk)

{

inti,t;

t=1;

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

t=t*i;

returnt;

}

intsum(intn)

{

inti,s;

s=0;

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

s=f(i)+s;

returns;

}

voidmain()

{

intm,s;

scanf("%d",&m);

s=sum(m);

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

}

 

1、求100之内自然数中最大的能被17整除的数。

#include

voidmain()

{inti;

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

if(i%17==0)break;

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

}

2、已知a,b,c都是1位整数,求当三位整数abc、cba的和为1333时a、b、c的值。

#include

voidmain()

{

inta,b,c;

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

{

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

{

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

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

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

}

}

}

3、计算并输出200-400之间不能被3整除的整数的和。

#include

voidmain()

{inti,sum=0;

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

if(i%3!

=0)

sum=sum+i;

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

}

4、从键盘输入10个数,统计非负数的个数,并计算非负数的和。

#include

voidmain()

{inti,n=0,sum=0;

inta[10];

printf("请输入10个数:

");

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

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

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

if(a[i]>=0)

{sum=sum+a[i];

n++;}

printf("非负个数是%d,sum=%d\n",n,sum);

}

5、求100之内自然数中偶数之和。

#include

voidmain()

{inti,sum=0;

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

if(i%2==0)

sum=sum+i;

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

}

6、输入5个数,求和并输出。

要求编写求和的函数。

#include

voidmain()

{intb(intx[],intn);

intsum=0;

inta[5];

inti;

printf("请输入5个数:

");

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

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

sum=b(a,5);

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

}

intb(intx[],intn)

{inti,sum=0;

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

sum=sum+x[i];

returnsum;}

7、编程计算1*2*3+3*4*5+5*6*7+...+99*100*101的值。

#include

voidmain()

{inti,sum=0;

for(i=1;i<=99;i=i+2)

sum=sum+i*(i+1)*(i+2);

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

}

8、编写程序,将用户输入的字符串中所有的字符a用*代替,然后输出。

#include

#include

voidmain()

{inti,n;

charb[20];

printf("请输入字符串:

");

gets(b);

n=strlen(b);

for(i=0;i

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

b[i]='*';

for(i=0;i

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

printf("\n");

}

9、编写程序,将一个一维数组的元素逆序存放并输出。

例如,原顺序为1,2,3,4,5,逆序后为5,4,3,2,1。

#include

voidmain()

{inti;

inta[5];

printf("请输入5个数:

");

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

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

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

{

t=a[i];

a[i]=a[4-i];

a[4-i]=t;

}

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

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

printf("\n");

}

10、求3行3列矩阵a[3][3]={1,2,3,4,5,6,7,8,9}非对角线上元素之和。

#include

voidmain()

{inti,j,sum=0;

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

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

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

if(i!

=j&&i+j!

=2)

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

printf("%d",sum);

printf("\n");

}

11、编程判断输入的整数的正负性和奇偶性。

如果为正数,输出z;如果为负数,输出f;如果为偶数,输出o;如果为奇数,输出j

#include

voidmain()

{inta;

printf("请输入一个数:

");

scanf("%d",&a);

if(a>0)

printf("z\n");

if(a<0)

printf("f\n");

if(a%2==0)

printf("o\n");

if(a%2!

=0)

printf("j\n");

}

12、计算并输出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);

}

13、从键盘输入n和a的值,计算a+aa+aaa+...+aa...a(n个a)的值。

#include

voidmain()

{inti,a,n;

longintsum=0,st=0;

printf("请输a和n:

");

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

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

{st=st+a;

sum=sum+st;

a=a*10;

}

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

}14、输入5个数,求它们中最大值和平均值并输出。

#include

voidmain()

{

inta[5];

inti,j,max,sum=0;

floataverage;

printf("请输入5个数:

");

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

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

max=a[0];

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

{

sum=sum+a[j];

if(max

max=a[j];

}

average=1.0/5*sum;

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

}15、输出所有200-400之间能被3整除且个位数字为6的整数。

#include

voidmain()

{

inti;

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

if((i%3==0)&&((i-6)%10==0))

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

printf("\n");

}

16、编写程序,将用户输入的字符串中所有的字符a去掉,然后输出剩余的字符。

#include

voidmain()

{inti,j,n1;

chara[20];

printf("请输入字符串:

");

gets(a);

n1=strlen(a);

for(i=0;i

if(a[i]!

='a')

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

printf("\n");

}

17、计算并输出200-400之间不能被7整除的整数的和。

#include

voidmain()

{inti,sum=0;

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

if(i%7!

=0)

sum=sum+i;

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

}

18.计算并输出200-400之间不能被5整除的整数的和。

#include

voidmain()

{inti,sum=0;

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

if(i%5!

=0)

sum=sum+i;

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

}

19、从键盘输入10个数,统计非正数的个数,并计算非正数的和

#include

voidmain()

{inti,n=0,sum=0;

inta[10];

printf("请输入10个数:

");

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

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

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

if(a[i]<=0)

{sum=sum+a[i];

n++;}

printf("非正个数是%d,sum=%d\n",n,sum);

}

20、输入一串字符,将其中的大写字母变成对应的小写字母并输出。

#include

#include

voidmain()

{inti,n;

chara[20];

printf("请输入字符串:

");

gets(a);

n=strlen(a);

for(i=0;i

if(a[i]>='A'&&a[i]<='Z')

a[i]=a[i]+32;

for(i=0;i

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

printf("\n");

}

21、打印所有的水仙花数。

所谓水仙花数是指一个三位数,其各位数字的立方和等于该数。

例如,153就是一个水仙花数,因为153=1*1*1+5*5*5+3*3*3。

#include

voidmain()

{inta,b,c,s;

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

{

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

{

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

if(a*100+b*10+c==a*a*a+b*b*b*b+c*c*c)

{

s=a*100+b*10+c;

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

}

}

}

}

22、一个皮球从100米高度自由落下,每次落地后反弹回原高度的一半,再落下,再反弹。

求当它第10次落地时,共经过了多少米,第10次反弹多高?

#include

voidmain()

{inti;

floatsum=100.0,h=50;

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

{

sum=sum+2*h;

h=h/2;

}

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

}

23、输出所有0-200之间能被3整除且个位数字为6的整数。

#include

voidmain()

{

inti;

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

if((i%3==0)&&((i-6)%10==0))

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

printf("\n");

}

24、输入一个正整数,输出它的阶乘。

#include

voidmain()

{inti,J=1,n=10;

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

");

scanf("%d",&n);

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

J=J*i;

printf("%d的阶乘是:

%d\n",n,J);

}

25、编写程序,判断从键盘输入的字符中数字字符的个数、大写字母的个数、小写字母的个数及其它字符的个数,以*作为字符输入结束标志。

#include

#include

voidmain()

{inti,x,m=0,n=0,k=0,j=0;

chara[20];

printf("请输入字符串:

");

gets(a);

x=strlen(a);

for(i=0;i

{

if(a[i]=='*')break;

elseif(a[i]>='0'&&a[i]<='9')

m++;

elseif(a[i]>='A'&&a[i]<='Z')

n++;

elseif(a[i]>='a'&&a[i]<='z')

k++;

else

j++;

}

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

}

26、编写程序,使用循环结构输出下列图形:

****

****

****

****

****

#include

voidmain()

{inti,j,k;

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

{

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

printf("");

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

printf("*");

printf("\n");

}

printf("\n");

}

27、输入一串字符,逆序输出。

要求使用数组实现。

#include

#include

voidmain()

{inti,j,t,n;

chara[10];

printf("请输入字符串:

");

gets(a);

n=strlen(a);

for(i=0;i

{

t=a[i];

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

a[n-1-i]=t;

}

for(j=0;j

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

printf("\n");

}

28、求1-1/2+1/3-1/4+...+1/99-1/100的值。

#include

voidmain()

{intn,s=1;

floatsum=1.0;

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

{

s=-s;

sum=sum+1.0/n*s;

}

printf("1-1/2+1/3-1/4+...+1/99-1/

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

当前位置:首页 > 解决方案 > 学习计划

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

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