C语言练习

  1. 求100以内的素数,全部打印出来
  1 #include <stdio.h>
  2 #define NUM 100
  3 int main ()
  4 {
  5     int i;
  6     int j;
  7     for (i=2;i<=NUM;i++)
  8     {
  9         for (j=2;j<=i/2;j++)
 10             {
 11             if (i%j == 0)
 12                 break;
 13             }
 14     if (j>i/2) printf("%d ",i);
 15 }
 16     return 0;
 17 }
 18 
  1. 编写一个程序,求出满足下列条件的四位数:该数是个完全平方数,且第一、三位数字之和为10,第二、四位数字之积为12
#include <math.h>
  4 
  5 int main ()
  6 {
  7 //  printf("aaaa");
  8     int a, a_a,a_b,a_c,a_d;
  9     int num;
 10     int num1,num2;
 11     for (a=1000;a<10000;a++)
 12     {
 13         a_a=a/1000;
 14         a_b=(a-1000*a_a)/100;
 15         a_c=(a-1000*a_a-100*a_b)/10;
 16         a_d=a%10;
 17         num =(int) sqrt(a);
 18         num = num*num;
 19         num1=a_a+a_c;
 20         num2=a_b*a_d;
 21         if((a == num) && (num1==10) && (num2 == 24))
 22         printf ("%d ",a);
  1. 快速找出一个数组中的最大数、第二大数。(笔试题)
//快速找出一个数组中的第一大数和第二大数
  2 #include <stdio.h>
  3 
  4 int main ()
  5 
  6 {
  7     int ch[10]={335,334,12,23,21,67,82,17,45,335};
  8     int i,max,second_max;
  9     max = ch[0];
 10     second_max = ch[1];
 11     for (i=0;i<10;i++)
 12     {
 13         if(ch[i]>max)
 14         {
 15             second_max=max;
 16             max = ch[i];
 17         }
 18         else if(ch[i]>second_max)
 19    
  1. 现在有一套房子,价格200万,假设房价每年上涨10%,一个软件工程师每年固定能赚40万。如果他想买这套房子,不贷款,不涨工资,没有其他收入,那么他需要几年才能攒够钱买这套房子?
  1 #include<stdio.h>
  2 #define price 40
  3 int main ()
  4 {
  5     int i=0;
  6     float r_price=0;
  7     float f_price = 200;
  8     while ((r_price-f_price)<0)
  9     {
 10         f_price=f_price * (0+0.1);
 11         i=i+1;
 12         r_price=i * price;
 13     }
 14     printf("需要%d年\n",i);
 15     return 0;
 16 }
~                        
  1. 一个数如果恰好等于它的因子之和,这个数被成为”完数”,例如:6=1+2+3.请编程找出1000以内的完数`
   1 //一个数如果恰好等于它的因子之和,这个数被称为完数,找出1000以内的完数
  2 #include<stdio.h>
  3 
  4 int main()
  5 {
  6     int i,j;
  7     int a[1000];    //保存因子
  8     int m=0;        //因子数
  9     int sum = 0;    //总因子的和
 10     for (i=1 ;i<=1000;i++)
 11     {
 12         m=sum=0;
 13         for(j=1;j<i;j++)
 14         {
 15             if(i%j == 0)
 16                 {   
 17                     m++;
 18                     a[m-1]=j;
 20                 }
 21         }
 22 
 23     if(sum == i)
 24         {
 25         printf("%d是完数,%d=",i,j);
 26         for(j=0;j<m-1;j++)
 27             printf("%d+",a[j]);
 28         printf("%d\n",a[m-1]);
 29         }
 30     }
 31     return 0 ;
 32 }
  1. 通过编程实现输出2的1000次方。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值