1.编程求一个四位自然数ABCD,它乘以A后变成DCBA。
#include <stdio.h>
int main(){
int A,B,C,D;
int i;
for(i=1000;i<10000;i++)
{
A = i/1000;
B = i%1000/100;
C = i%100/10;
D = i%10;
if(i*A == (D*1000+C*100+B*10+A))
{
printf("%d\n",i);
}
}
return 0;
}
2.编写一个程序,从键盘上接收一个整数,并且从1-100之间找到
能被它整除的整数,并输出找到的整数。
#include <stdio.h>
int main(){
int a=0,b=1;
printf("请输出一个整数:");
fflush(stdout);
scanf("%d",&a);
for(b=1;b<=100;b++){
if(b%a==0){
printf("%d\t",b);
}
}
return 0;
}
3.
4.* ** *** **** *****
#include <stdio.h>
int main(){
int i,j;
int n=1;
for (i=1;i<6;i++)
{
for (j=1;j<=n;j++)
{
printf("*");
}
n+=1;
printf ("\n");
}
return 0;
}
5.使用循环语句输出一个以*号组成的菱形。要求行数从键盘接收
。
#include <stdio.h>
int main(){
int i,j,n;
printf("请输入一个数:");
fflush(stdout);
scanf("%d",&n);
for(i=0;i<n;i++){
j = n+i;
while(j--){
printf("%s",j>2*i?" ":"*");
}
printf("\n");
}
for(i=n-1;i>0;i--){
for(j=0;j<n+i-1;j++){
printf("%s",j<n-i?" ":"*");
}
printf("\n");
}
return 0;
}
6.编写一个程序,它能够读入一个正方形的边长,然后输出一个
由星号和空格组成的边长为刚刚读入的边长的空心正方形。例如
,程序读入的边长是5,那么它应输出边长为5的空心正方形。
#include <stdio.h>
int main(){
int a,i,j;
printf("输入正方形的边长:\n");
fflush(stdout);
scanf("%d",&a);
for( i=0;i<a;i++)
printf("*");
printf("\n");
for(i=0;i<a-2;i++){
printf("*");
for(j=0;j<a-2;j++)
printf(" ");
printf("*");
printf("\n");
}
for(i=0;i<a;i++)
printf("*");
printf("\n");
return 0;
}
7.设计一个程序,该程序能将一个十进制整数,输出将其转化为
二进制
#include <stdio.h>
int main () {
int i,num,a,b[8]={0};
printf("请输出一个正整数:");
fflush(stdout);
scanf("%d",&num);
a=num;
for(i=0;i<8;i++){
b[i]=a%2;
a=a/2;
}
for(i=7;i>=0;i--){
printf("%d",b[i]);
}
return 0;
}
8.有一条长阶梯,若每步跨2阶最后剩下1阶;若每步跨3阶最后剩
下2阶;若每步跨5阶最后剩下4阶;若每步跨6阶最后剩下5阶;只
有每步跨7阶,最后才正好1阶不剩。编程计算这条阶梯共有多少
阶?
答案:这是一个整除问题
可以看出,这个数字加上1,能被2.3.5.6整除
而且这个数能被7整除
加上1能被2.3.5.6整除的数又30 60 90 120 150...
30.60...减去1能被7整除的有120,减去1=119,能被7整除
所以这个数最小是119
#include <stdio.h>
int main(){
int n=1;
while(1)
{
if((n%2==1)&&(n%3==2)&&(n%5==4)&&(n
%6==5)&&(n%7==0)) //判断
{
printf("%d\n",n);
break;
}
n++;
}
printf("%d%%2=%d…%d\n",n,n/2,n%2);
//验算
printf("%d%%3=%d…%d\n",n,n/3,n%3);
printf("%d%%5=%d…%d\n",n,n/5,n%5);
printf("%d%%6=%d…%d\n",n,n/6,n%6);
printf("%d%%7=%d…%d\n",n,n/7,n%7);
return 0;
}