2018.7.14

学习日志                     姓名:   徐雪         日期: 2017.07.14

 

今日学习任务

 自主复习并且完成五道编程题

 

今日任务完成情况

(详细说明本日任务是否按计划完成,开发的代码量。)

 

今日任务已按计划完成。完成了traning1的题目。

 

 

 

今日开发中遇到的问题汇总

 无

今日未解决问题

今日开发收获

1.通过对数字取余109,除10等于9来计数该数字中9的个数;

2.判断某个数m是否为素数:让m先后被2到根号m除,如果m能被2—根号m之中任何一个整数整除,则提前结束循环,k=根号m;如果不能,则在完成最后一次循环后,i1,在循环之后判别i是否大于或等于k+1,若是,则表明未曾被2~k之间任一整数整除过,因此输出是素数;

3.如果m能整除i,则im的因子;

 

 

 

自我评价

(是否规范完成指定任务,需要改进的地方,与他人合作等。)

 按时完成了练习

            其他

                无  

 

 

 

1.  题目:通过编程实现,统计1~n有多少个9 (提示:n通过参数传入)

#include <stdio.h>

 

int main()

{

int n,b;

int a;

int i;

int sum = 0;

printf("please input n :\n");      

scanf("%d",&n);

for(i = 1; i <= n; i++)

{

a = i;

while(1)

{

b = a % 10;        //10求余取出个位数

a = a/10;          

if(b==9)         //统计9的个数

{

sum++;

}

if(a >= 0 && a <= 9)     

{

if(a == 9)

{

sum++;

}

break;

}

}

}

printf("%d\n",sum);

    return 0;

}

2. 题目:n个人围成一圈,顺序排号,从第一个开始报数(13报数),凡报到3的人退出圈子,问最后最后留下的是原来第几号的那位.提示:用数组完成

 #include<stdio.h>

 

int main()

{

 

   int a[100];

   int i,n,p=0,q;

   printf("input number:");

    scanf("%d",&n);

     q=n;

   for(i=0;i<n;i++)

   a[i]=i+1;

   for(i=0;;i++)

 {

 if(i==n) i=0; //i++一直到n,继续下一轮

 if(a[i]!=0) p++; 

 else continue;

 if(p%3==0 

  {a[i]=0;q--;} // 只有一个为0就减一 

  if(q==1) break; //当剩下最后一个就输出

 }

for(i=0;i<n;i++)

if(a[i]!=0)

printf("spare: %d\n\n",a[i]);

return 0;

}

3. 题目:输入5个数(含负数、小数)将它们按由小到大的顺序排列起来(提示:需要排数的数字通过参数传递进来)例如:输入:  -1  2.1  -3  5  7 输出: -3 -1 2.1 5 7

#include <stdio.h>

 

float  paixu(float b[])    //选择排序

{

     int i,j,min;

     float t;

    int len=sizeof(b)/sizeof(b[0]);

    for ( i = 0; i <4; ++i)

{

       min=i;

       for (j = i+1;j<5 ; j++)

   {

           if(b[j]<b[min])

   {

               min=j;

   }

   }

       if (min!=i)

   {

          t=b[i];

       b[i]=b[min];

        b[min]=t;

   }

}

return 0;

}

 

 

 

 

int main()

{

int i;

float a[5];

printf("请输入五个数:\n");

for ( i = 0; i < 5; ++i)

{

scanf("%f",&a[i]);

}

paixu(a);

for(i=0;i<5;i++)

{

printf("%5.1f ",a[i]);

}

printf("\n");

return 0;

}

 

 

 

4. 题目:100以内的素数,全部打印出来

#include<stdio.h>

#include<math.h>

 void main()

 {

 int m,k,i,n;

 for(m=1;m<101;m++)

 {

 k=sqrt(m);

 for(i=2;i<=k;i++)

 if(m%i==0)

 break;

 if(i>=k+1)

 {

 printf("%d ",m);

 n=n+1;

 }

 if(n%10==0)

 printf("\n");

 }

 

 printf("\n");

    

}

 

5. 题目: 一个数如果恰好等于它的因子之和,这个数被成为”完数”,例如:6=1+2+3.请编程找出1000以内的完数

 #include <stdio.h>

void main()

{

int m,i,s;

for(m=1;m<=1000;m++)

{

s=0;//初始化因子之和s0

for(i=1;i<m;i++)  

if(m%i==0) //如果m能整除i,则im的因子

s=s+i;//将因子累加

if(s==m) // 

printf("%d\t",s);//输出

}

}

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

15195867336

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值