C语言程序题库.docx
- 文档编号:29524190
- 上传时间:2023-07-24
- 格式:DOCX
- 页数:314
- 大小:60.35KB
C语言程序题库.docx
《C语言程序题库.docx》由会员分享,可在线阅读,更多相关《C语言程序题库.docx(314页珍藏版)》请在冰豆网上搜索。
C语言程序题库
intProProblem
ProLevel
ProSource
ProAnswer
编写程序,求满足下列条件的所有四位数ABCD的个数,该四位数是15的倍数,且A+D=B+C,即第1位数加上第4位数等于第2位数加上第3位数。
1
#include
intmain()
{
inti,a,b,c,d,s=0;
for(i=1000;i<=9999;i++)
{if(i%15==0)
{a=i/1000;
b=(i-a*1000)/100;
c=(i-a*1000-b*100)/10;
d=i%10;
if(a+d==b+c)
s=s+1;
}
}
printf("%d\n",s);
return0;
}
45
"水仙花数"是指这样的数,其各位数字的立方和等于该数本身。
编写程序求100至500的范围内有多少个水仙花数。
1
#include
intmain()
{inti,a,b,c,n=0;
for(i=100;i<=500;i++)
{a=i/100;
b=(i-100*a)/10;
c=i%10;
if(a*a*a+b*b*b+c*c*c==i)
{n=n+1;
printf("%d\n",i);}}
printf("%d\n",n);
return0;
}
4
一个数如果刚好与小于它的所有因子之和相等,则称该数为一个“完数”,如:
6=1+2+3。
求出10000以内的所有完数之和。
1
#include
intmain()
{longi,j,n=0,t,sum=0;
for(i=6;i<=10000;i++)
{t=0;
for(j=1;j<=i/2;j++)
if(i%j==0)t=t+j;
if(i==t)
{printf("%d\n",i);
n=n+1;
sum=sum+i;}}
printf("n=%ld\n",n);
printf("sum=%ld\n",sum);
return0;
}
8658
一个数如果刚好与小于它的所有因子之和相等,则称该数为一个“完数”,求出1000以内的所有完数的平方和。
1
#include
intmain()
{longi,j,n=0,t,sum=0;
for(i=6;i<=1000;i++)
{t=0;
for(j=1;j<=i/2;j++)
if(i%j==0)t=t+j;
if(i==t)
{printf("%d\n",i);
n=n+1;
sum=sum+i*i;}}
printf("n=%ld\n",n);
printf("sum=%ld\n",sum);
return0;
}
246836
编写程序,求满足下列条件的所有四位数ABCD的个数,该四位数是8的倍数,且A+B=B+C,即第1位数加上第2位数等于第2位数加上第3位数。
1
#include
intmain()
{inti,n=0,a,b,c;
for(i=1000;i<=9999;i++)
{if(i%8==0)
{a=i/1000;
b=(i-a*1000)/100;
c=(i-a*1000-b*100)/10;
if(a+b==b+c)
n=n+1;}}
printf("%d\n",n);
return0;
}
110
编写程序,求满足下列条件的所有四位数ABCD的个数,该四位数是18的倍数,且D=6,A+B=B+C,即第1位数加上第2位数等于第2位数加上第3位数。
1
#include
intmain()
{inti,a,b,c,d,n=0;
for(i=1000;i<=9999;i++)
{if(i%18==0)
{a=i/1000;
b=(i-a*1000)/100;
c=(i-a*1000-b*100)/10;
d=i%10;
if((a+b==b+c)&&d==6)
n=n+1;}}
printf("%d\n",n);
return0;
}
10
编写程序,求满足下列条件的所有四位数ABCD的个数,该四位数是16的倍数,且B=8,,A+B=B+C,即第1位数加上第2位数等于第2位数加上第3位数。
1
#include
intmain()
{inti,a,b,c,n=0;
for(i=1000;i<=9999;i++)
{if(i%16==0)
{a=i/1000;
b=(i-a*1000)/100;
c=(i-a*1000-b*100)/10;
if((a+b==b+c)&&b==8)
n=n+1;}}
printf("%d\n",n);
return0;
}
5
编写程序,求出1到8000之间的能被5整除的前若干个偶数之和,当和值大于750时退出并输出和值。
1
#include
intmain()
{inti,n=0,sum=0;
for(i=1;i<=8000;i++)
{if(i%2==0)
if(i%5==0)
sum=sum+i;
if(sum>750)break;}
printf("%d",sum);
return0;
}
780
编写程序,求满足下列条件的所有四位数ABCD的个数,该四位数是8的倍数,且A+D=B+C,即第1位数加上第4位数等于第2位数加上第3位数。
1
#include
intmain()
{inti,n=0,a,b,c,d;
for(i=1000;i<=9999;i++)
{if(i%8==0)
{a=i/1000;
b=(i-a*1000)/100;
c=(i-a*1000-b*100)/10;
d=1%10;
if(a+d==b+c)
n=n+1;}}
printf("%d\n",n);
return0;
}
77
编写程序,求在500~1000之间所有能被5除余3,被7除余5,被9除余7的数的平方和。
1
#include
intmain()
{inti,sum=0;
for(i=500;i<=1000;i++)
{if(i%5==3&&i%7==5&&i%9==7)
{printf("%d\n",i);
sum=sum+i*i;
}}
printf("%d\n",sum);
return0;
}
1283633
编写程序,求满足下列条件的所有四位数ABCD的个数,该四位数是9的倍数,且A=B+C,即第2位数加上第3位数等于第1位数。
1
#include
intmain()
{inti,n=0,a,b,c;
for(i=1000;i<=9999;i++)
{if(i%9==0)
{a=i/1000;
b=(i-a*1000)/100;
c=(i-a*1000-b*100)/10;
if(a==b+c)
n=n+1;}}
printf("%d\n",n);
return0;
}
64
编写程序,求在200~2000之间所有能被4除余2,被7除余3,被9除余5的数之和。
1
#include
intmain()
{inti,sum=0;
for(i=200;i<=2000;i++)
{if(i%4==2&&i%7==3&&i%9==5)
{printf("%d\n",i);
sum=sum+i;
}}
printf("%d\n",sum);
return0;
}
7910
编写程序,求在10~1000之间所有能被4除余2,被7除余3,被9除余5的数之和。
1
#include
intmain()
{inti,sum=0;
for(i=10;i<=1000;i++)
{if(i%4==2&&i%7==3&&i%9==5)
{printf("%d\n",i);
sum=sum+i;
}}
printf("%d\n",sum);
return0;
}
2000
编写程序,求满足下列条件的所有四位数ABCD的个数,该四位数是11的倍数,且A=B+C,即第2位数加上第3位数等于第1位数。
1
#include
intmain()
{inti,n=0,a,b,c;
for(i=1000;i<=9999;i++)
{if(i%11==0)
{a=i/1000;
b=(i-a*1000)/100;
c=(i-a*1000-b*100)/10;
if(a==b+c)
n=n+1;}}
printf("%d\n",n);
return0;
}
49
编写程序,求满足下列条件的所有四位数ABCD的个数,该四位数是8的倍数,且A+C=B,即第1位数加上第3位数等于第2位数。
1
#include
intmain()
{inti,n=0,a,b,c;
for(i=1000;i<=9999;i++)
{if(i%8==0)
{a=i/1000;
b=(i-a*1000)/100;
c=(i-a*1000-b*100)/10;
if(b==a+c)
n=n+1;}}
printf("%d\n",n);
return0;
}
57
编写程序,求满足下列条件的所有四位数ABCD的个数,该四位数是5的倍数,且A+D=B+C,即第1位数加上第4位数等于第2位数加上第3位数。
1
#include
intmain()
{inti,n=0,a,b,c,d;
for(i=1000;i<=9999;i++)
{if(i%5==0)
{a=i/1000;
b=(i-a*1000)/100;
c=(i-a*1000-b*100)/10;
d=i%10;
if(a+d==b+c)
n=n+1;}}
printf("%d\n",n);
return0;
}
123
编写程序,求满足下列条件的所有四位数ABCD的个数,该四位数是18的倍数,且C=7,A+B=C+D,即第1位数加上第2位数等于第3位数加上第4位数。
1
#include
intmain()
{inti,n=0,a,b,c,d;
for(i=1000;i<=9999;i++)
{if(i%18==0)
{a=i/1000;
b=(i-a*1000)/100;
c=(i-a*1000-b*100)/10;
d=i%10;
if(a+b==d+c&&c==7)
n=n+1;}}
printf("%d\n",n);
return0;
}
9
编写程序,求出1到2000之间的能被9整除的前若干个数之和,当和值大于500时退出并输出和值。
1
#include
intmain()
{inti,sum=0;
for(i=1;i<=1000;i++)
{if(i%9==0)
sum=sum+i;
if(sum>500)break;}
printf("%d\n",sum);
return0;
}
594
有40个学生一起买小吃,共花钱100元,其中每个大学生花5元,每个中学生花3元,每个小学生花1元,问大、中、小学生的人数分配共有多少种不同的解(去掉某类学生为0的解)?
1
#include
intmain()
{inta,b,c,n=0;
for(a=19;a>0;a--)
{for(b=32;b>0;b--)
for(c=38;c>0;c--)
if(a+b+c==40&&5*a+3*b+c==100)
n=n+1;}
printf("%d\n",n);
return0;
}
14
编写程序,求在200~1000之间所有能被4除余3,被7除余5,被9除余2的数之和。
1
#include
intmain()
{inti,sum=0;
for(i=200;i<=1000;i++)
{if(i%4==3&&i%7==5&&i%9==2)
{printf("%d\n",i);
sum=sum+i;
}}
printf("sum=%d\n",sum);
return0;
}
1653
编写程序,计算1000以内有多少个这样的数,其个位数为6且该数能被9整除。
1
#include
intmain()
{inti,n=0,a;
for(i=1;i<=1000;i++)
{a=i%10;
if(a==6&&i%9==0)
n=n+1;}
printf("%d\n",n);
return0;
}
11
编写程序,计算1000以内有多少个这样的数,其十位数为6且能被8整除。
1
#include
intmain()
{inti,n=0,a,b;
for(i=100;i<=999;i++)
{a=i/100;
b=(i-100*a)/10;
if(b==6&&i%8==0)
n=n+1;}
printf("%d\n",n+1);
return0;
}
15
编写程序,求出1到5000之间的能被7整除的前若干个数之和,当和值大于等于1500时退出并输出和值。
1
#include
intmain()
{inti,sum=0;
for(i=1;i<=5000;i++)
{if(i%7==0)
sum=sum+i;
if(sum>=1500)break;}
printf("%d\n",sum);
return0;
}
1617
"水仙花数"是指这样的数,其各位数字的立方和等于该数本身。
编写程序求100至999的范围内有多少个水仙花数。
1
#include
intmain()
{inti,n=0,sum=0,a,b,c;
for(i=100;i<=999;i++)
{a=i/100;
b=(i-100*a)/10;
c=i%10;
if(a*a*a+b*b*b+c*c*c==i)
n=n+1;
sum=sum+i;}
printf("%d\n",n);
printf("%d",sum);
return0;
}
4
编写程序,求在10~1000之间所有能被4除余3,被7除余4,被9除余4的数的平方和。
1
#include
intmain()
{inti,sum=0;
for(i=10;i<=1000;i++)
{if(i%4==3&&i%7==4&&i%9==4)
sum=sum+i*i;}
printf("%d\n",sum);
return0;}
1109620
一个数如果刚好与小于它的所有因子之和相等,则称该数为一个“完数”,求出600以内的所有完数的平方和。
1
#include
intmain()
{inti,sum=0,n=0,j,t;
for(i=i;i<=600;i++)
{t=0;
for(j=1;j<=i/2;j++)
if(i%j==0)t=t+j;
if(t==i)
{n=n+1;
sum=sum+i*i;}}
printf("%d\n%d\n",n,sum);
return0;
}
246836
编写程序,统计200~300之间的所有满足三个数字之积为24,三个数字之和为10的数的个数。
1
#include
intmain()
{inta,b,c,i,n=0;
for(i=200;i<=300;i++)
{a=i/100;
b=(i-100*a)/10;
c=i%10;
if(a*b*c==24&&a+b+c==10)
n=n+1;}
printf("%d\n",n);
return0;
}
2
编写程序,求在10~1000之间所有能被4除余3,被7除余4,被9除余4的数之和。
1
#include
intmain()
{inti,s=0;
for(i=10;i<=1000;i++)
{if(i%4==3&&i%7==4&&i%9==4)
s=s+i;}
printf("%d\n",s);
return0;
}
1780
编写程序,求出1到6000之间的能被5整除的前若干个偶数之和,当和值大于650时退出并输出和值。
1
#include
intmain()
{inti,s=0;
for(i=1;i<=6000;i++)
{if(i%2==0&&i%5==0)
s=s+i;
if(s>650)break;}
printf("%d\n",s);
return0;
}
660
编写程序,求在200~1000之间所有能被4除余3,被7除余4,被9除余4的数之和。
1
#include
intmain()
{inti,s=0;
for(i=200;i<=1000;i++)
{if(i%4==3&&i%7==4&&i%9==4)
s=s+i;}
printf("%d\n",s);
return0;
}
1713
编写程序,求出1到7000之间的能被5整除的前若干个偶数之和,当和值大于500时退出并输出和值。
1
#include
intmain()
{inti,s=0;
for(i=1;i<=7000;i++)
{if(i%2==0&&i%5==0)
s=s+i;
if(s>500)break;}
printf("%d\n",s);
return0;
}
550
编写程序,求在200~1000之间所有能被5除余3,被7除余5,被9除余7的数之和。
1
#include
intmain()
{inti,s=0;
for(i=200;i<=1000;i++)
{if(i%5==3&&i%7==5&&i%9==7)
s=s+i;}
printf("%d\n",s);
return0;
}
1884
编写程序,求出1到4000之间的能被5整除的前若干个偶数之和,当和值大于400时退出并输出和值。
1
#include
intmain()
{inti,s=0;
for(i=1;i<=4000;i++)
{if(i%5==0&&i%2==0)
s=s+i;
if(s>400)break;}
printf("%d\n",s);
return0;
}
450
编写程序,求出1到3000之间的能被3整除的前若干个数之和,当和值大于600时退出并输出和值。
1
#include
intmain()
{inti,s=0;
for(i=1;i<=3000;i++)
{if(i%3==0)
s=s+i;
if(s>600)break;}
printf("%d\n",s);
return0;
}
630
编写程序,已知:
S=1+3+5+7+9+…,求S不大于750的最大值。
1
#include
intmain()
{inti,s=0,max;
for(i=1;;i+=2)
{if(s<750)max=s;
s=s+i;
if(s>750)break;}
printf("%d\n",max);
return0;
}
729
编写程序,已知:
S=2+4+8+16+32+…,求S不大于1500的最大值。
1
#include
#include
intmain()
{inti,a,s=0,max;
for(i=1;i<=10;i++)
{a=pow(2,i);
s=s+a;
if(s<1500)max=s;
if(s>1500)break;}
printf("%d\n",max);
return0;
}
1022
编写程序,统计1000~9999之间的所有满足以下条件的四位数的个数。
该四位数是一个完全平方数,且其第1、3位数字之和为6,第2、4位数字之积为24。
1
#include
#include
intmain()
{inti,a,b,c,d,p,n=0;
for(i=1000;i<=9999;i++)
{a=i/1000;
b=(i-1000*a)/100;
c=(i-1000*a-100*b)/10;
d=i%10;
p=sqrt(i);
if(p*p==i&&a+c==6&&b*d==24)
n=n+1;}
printf("%d\n",n);
return0;
}
1
编写程序,已知:
S=2+4+8+16+32+…,求S不大于980的最大值。
1
#include
#include
intmain()
{inti,a,s=0,max;
for(i=1;i<=10;i++)
{a=pow(2,i);
s=s+a;
if(s<980)max=s;
if(s>980)break;}
printf("%d\n",max);
return0;
}
510
有30个学生一起买小吃,共花钱50元,其中每个大学生花3元,每个中学生花2元,每个小学生花1元,问大、中、小学生的人数分配共有多少种不同的解(去掉某类学生数为0的解)?
1
#include
intmain()
{inta,b,c,n=0;
for(a=17;a>0;a--)
{for(b=28;b>0;b--)
for(c=28;c>0;c--)
if(a+b+c==30&&3*a+2*b+c==50)
n=n+1;}
printf("%d\n",n);
return0;
}
9
编写程序,已知:
S=2+4+8+16+32+…,求S不大于3000的最大值。
1
#include
#include
intmain()
{inti,a,s=0,max;
for(i=1;i<=10;i++)
{a=pow(2,i);
s=s+a;
if(s<3000)max=s;
if(s>3000)break;}
printf("%d\n",max);
return0;
}
2046
有50个学生一起买小吃,共花钱100元,其中每个大学生花3元,每个中学生花2元,每个小学生花1元,问大、中、
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 程序 题库