c语言编程题.docx
《c语言编程题.docx》由会员分享,可在线阅读,更多相关《c语言编程题.docx(26页珍藏版)》请在冰豆网上搜索。
c语言编程题
四、编程题(2道小题,共20分)
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;iif(b[i]=='a')
b[i]='*';
for(i=0;iprintf("%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(maxmax=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;iif(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;iif(a[i]>='A'&&a[i]<='Z')
a[i]=a[i]+32;
for(i=0;iprintf("%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)