C语言程序设计
1.计算两个数的最大公约数。
要求:使用C语言编写程序,计算两个数的最大公约数。
#include <stdio.h>
int main(){
int a,b,t,m,n;
scanf("%d %d",&a,&b);
m=a;
n=b;
if(m<n){
t=m;m=n;n=t;
}
//求出 m 为最小公倍数
while(n){
t=m%n;
m=n;
n=t;
}
//最大公约数为 a*b/m
printf("最大公约数为:%d\n",a*b/m);
return 0;
}
2.输出1000以内的全部完数。
要求:使用C语言编写程序,输出1000以内的全部完数。所谓完数,是指该数恰好等于他的全部真因子的和(不包括它自己)。例如:6=1+2+3
#include <stdio.h>
int main(){
int m,i,t;
for(m=2;m<=1000;m++){
t=1;
for(i=2;i*i<=m;i++){
if(m%i==0){
t=t+i;
if(i*i!=m){
t=t+m/i;
}
}
}
if(t==m){
printf("%d ",m);
}
}
return 0;
}
3.编写程序,将一个正整数进行质因数分解,例如输入90,需要在屏幕上打印出 90=2*3*3*5。
#include <stdio.h>
int main(){
int m=90,n=2;
printf("input a number:");
scanf("%d",&m);
printf("%d=",m);
while(m != 1){
while(m%n == 0){
printf("%d",n);
if(m != n ){
printf("*");
}
m = m/n;
}
n++;
}
return 0;
}
4.输出200到300之间,满足如下条件的数,即各位数字之和为12,数字之积为42。
#include <stdio.h>
int main(){
int i,j;
for(i = 0; i <= 9; i++ ){
for(j = 0; j <= 9; j++){
if(i+j==10 && i*j == 21){
printf("i=%d,j=%d,数字为:%d\n",i,j,200+i*10+j);
}
}
}
return 0;
}
5.请找出101-1000中的水仙花数。例如:153 = 1*1*1+5*5*5+3*3*3。
#include <stdio.h>
int main(){
int i,m,n,k;
for(i = 101; i <= 999; i++ ){
m = i/100;
n = i/10%10;
k = i%10;
if(m*m*m + n*n*n + k*k*k == i){
printf("%d ",i);
}
}
return 0;
}
6.产生并输出如下所示的上三角形图形。
A
BBB
CCCCC
DDDDDDD
EEEEEEEEE
#include <stdio.h>
int main(){
int i,j,k;
for(i = 0; i < 5 ; i++){
for(j = 0;j < 4 - i; j++){
printf(" ");
}
for(k = 0; k< 2*i + 1; k++){
printf("%c",65 + i);
}
printf("\n");
}
return 0;
}
下载方式
链接:https://pan.baidu.com/s/1GYLdQ7AMteb4JEVuIfmmnA
提取码:jbls
关注公众号 回复“PDF” 获取习题集