C语言第五章编程题.docx
《C语言第五章编程题.docx》由会员分享,可在线阅读,更多相关《C语言第五章编程题.docx(12页珍藏版)》请在冰豆网上搜索。
![C语言第五章编程题.docx](https://file1.bdocx.com/fileroot1/2023-1/31/9da84927-6f89-4e32-bd12-d32a93928a4c/9da84927-6f89-4e32-bd12-d32a93928a4c1.gif)
C语言第五章编程题
3. 用for循环语句编程输出A—Z之间的所有字符,两字母之间以空格分隔,要求一行输出8个字符。
#include
voidmain()
{
charc;
intcount=0;
for(c='A';c<='Z';c++)
{printf("%c",c);
count++;
if(count%8==0)
printf("\n");
}
}
5. 输出1至1000之间所有满足用3除余2、用5除余3、用7除余2的数(要求每行只输出5个数)。
#include
voidmain()
{
inti;
intcount=0;
for(i=1;i<=1000;i++)
if(i%3==2&&i%5==3&&i%7==2)
{
printf("%d",i);
count++;
if(count%5==0)
printf("\n");
}
}
6. 先读入一个正整数n,然后计算并显示前n个偶数的和。
例如n为5,则求2+4+6+8+10的值,即sum=30。
#include
voidmain()
{
inti,n,sum;
printf("输入一个正整数:
\n");
scanf("%d",&n);
i=1;
sum=0;
while(i<=n)
{
sum+=2*i;
i++;
}
printf("sum=%d\n",sum);
}
7. 计算 S=1+1/2+1/3+1/4+...+1/200的值并输出。
#include
voidmain()
{
inti;
floatS=0.0;
for(i=1;i<=200;i++)
S=S+1.0/i;
printf("S=%.0f\n",S);
}
8. 计算1-3+5-7+…-99+101的值。
#include
voidmain()
{
inti,s=1;
floatsum=0.0;
for(i=1;i<=101;i=i+2)
{sum=sum+i*s;
s=-s;
}
printf("sum=%.2f\n",sum);
}
10.输出Fibonacci数列的前几项,直到该项的值大于10000为止(每行输出5项)。
fobinacci数列为1,1,2,3,5,8,13,21,34,…。
即第一项和第二项为1,其他为前两项之和。
#include
voidmain()
{
intf1=1,f2=1,f3=f1+f2;
intcount=2;
printf("%10d%10d",f1,f2);
while(f3<=10000)
{
printf("%10d",f3);
f1=f2;
f2=f3;
f3=f1+f2;
count++;
if(count%5==0)
printf("\n");
}
}
教材P103页
11.编写程序,输出10000~99999之间的所有回文数。
#include
voidmain()
{
longi;
inta,b,c,d,count=0;
for(i=10000;i<=99999;i++)
{
a=i%10;
b=i/10%10;
c=i/1000%10;
d=i/10000;
if(a==d&&b==c)
{
count++;
printf("%ld",i);
if(count%8==0)printf("\n");
}
}
}
12.找出100~999之间的水仙花数。
#include
voidmain()
{
inti,a,b,c;
for(i=100;i<=999;i++)
{
a=i%10;
b=i/10%10;
c=i/100;
if(i==(a*a*a+b*b*b+c*c*c))
printf("%d\n",i);
}
}
13.输出10~100之间各位数字之积大于各位数字之和的数。
#include
voidmain()
{
inti,a,b;
for(i=10;i<=99;i++)
{
a=i%10;
b=i/10;
if(a*b>a+b)
printf("%d\n",i);
}
}
14输入一个整数,计算该整数的位数和各位数字之和。
(本题很重要!
)
#include
voidmain()
{
inti,sum=0,num=0;
printf("输入一个整数:
\n");
scanf("%d",&i);
if(i<0)i=-i;
for(i;i>0;)
{
sum=sum+i%10;
num++;
i=i/10;
}
printf("sum=%d,num=%d\n",sum,num);
}
15.输入一个整数,判断是否完数。
#include
voidmain()
{
intn,i,sum=0;
printf("输入一个整数:
\n");
scanf("%d",&n);
for(i=1;i<=n-1;i++)
{
if(n%i==0)sum=sum+i;
}
if(sum==n)
printf("%d是完数!
\n",n);
else
printf("%d不是完数!
\n",n);
}
16
#include
voidmain()
{
inti,j;
printf("\t\t\t\t乘法口诀表\n");
for(i=1;i<=9;i++)
{
for(j=1;j<=i;j++)
printf("%d*%d=%d\t",i,j,i*j);
printf("\n");
}
}
17.输出图形:
#include
voidmain()
{
inti,j;
charc='A';
for(i=1;i<=4;i++)
{
for(j=1;j<=5-i;j++)printf("");
for(j=1;j<=2*i-1;j++)
printf("%c",c);
c++;
printf("\n");
}
}
18.输出图形:
#include
voidmain()
{
inti,j;
for(i=1;i<=4;i++)
{
for(j=1;j<=2*i-1;j++)
printf("*");
printf("\n");
}
for(i=3;i>=1;i--)
{
for(j=1;j<=2*i-1;j++)
printf("*");
printf("\n");
}
}
19.找出10000以内的所有完数。
#include
voidmain()
{
intn,i,sum=0;
for(n=2;n<=10000;n++)
{
sum=0;
for(i=1;i<=n-1;i++)
{
if(n%i==0)sum=sum+i;
}
if(sum==n)
printf("%d\n",n);
}
}
20.找出500以内的所有素数。
#include
voidmain()
{
inti,j,count=0;
printf("1");
for(i=2;i<=500;i++)
{
for(j=2;j
{
if(i%j==0)
break;
}
if(i==j)
{
printf("%d",i);
count++;
if(count%8==0)printf("\n");
}
}
}
21~26.也要求完成,题目见教材
21
#include
voidmain()
{
inti;
floata=2.0,b=1.0,c,sum=0.0,temp;
for(i=1;i<=20;i++)
{
c=a/b;
sum=sum+c;
temp=a+b;
b=a;
a=temp;
}
printf("sum=%f\n",sum);
}
22
#include
voidmain()
{
inti,ge,shi,bai,num=0;
for(i=100;i<=999;i++)
{
ge=i%10;
shi=i/10%10;
bai=i/100;
if(ge+shi+bai==5)
{
num++;
printf("%d\n",i);
}
}
printf("\nnum=%d\n",num);
}
23
#include
voidmain()
{
inti,count=0;
for(i=1500;i<=3000;i++)
{
if((i%4==0&&i%100!
=0)||(i%400==0))
{
printf("%d",i);
count++;
if(count%8==0)
printf("\n");
}
}
}
24
#include
voidmain()
{
inti,ge,shi;
for(i=10;i<=99;i++)
{
ge=i%10;
shi=i/10;
if(i-(ge*10+shi)==45)
printf("AB=%d\n",i);
}
}
25
#include
voidmain()
{
intx,y,z;
for(x=0;x<=9;x++)
for(y=0;y<=12;y++)
{
z=(36-x-y);
if((4*x+3*y+z/2.0==36)&&(z%2==0))
printf("x=%d\ny=%d\nz=%d\n",x,y,z);
}
}
26
#include
voidmain()
{
intx,y,z;
for(x=0;x<=17;x++)
for(y=0;y<=25;y++)
{
z=(30-x-y);
if(3*x+2*y+z==50)
printf("x=%dy=%dz=%d\n\n",x,y,z);
}
}