C语言基础小题

来源:互联网 发布:固定资产统计软件 编辑:程序博客网 时间:2024/05/14 17:37

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;
}

原创粉丝点击