迷茫

       来苏嵌有一段使间了,学习的内容也从Linux 到shell编程 然后到了C语言。现在学习的C语言,压力很大。基本上是不知道如何去学习他,一天的上课强度很大,老师讲授的内容也很多。很多东西在讲授的时候弄不明白就到下一个知识点了,晚上有安排晚自习来消化白天的授课内容,可是自己在晚上的回顾的时候东看看,西看看。没有一个具体的目标性。现在的状态很糟糕。C语言有对应的作业题,我必须对应着参考方案,才能编出来。自己独立的完成一道题却是很难,甚至是毫无进展。课程每天都在往前面上,我累积 的问题也越来越多。自己也花了很多的时间去自主学习C语言,可是在学习的时候没有一个系统规划,数组看看,语句看看,思路想想,东抓一把,西抓一把。时间也花进去,可是拿到新的作业题也没有任何的突破或者说是一点点的进步。打个比方:例如一个10进制转换为8进制的程序有一条语句是这样的 :scanf("%d,&n"); 这样一个语句,我在编写的时候没有任何的概念,直到看到参考方案的时候,才意识到需要加入这样一条语句进去。现在自己真的很迷茫,不知道怎样去学C语言才能有效的进步。
作业:

1.求100以内的素数,全部打印出来
#include<stdio.h>
//输出100之内的所有素数
int main()
{
    int i;
    int j;
    
    for(i = 2;i <=100;i++)
    {
        for(j = 2;j <= 100;j++)
 {
     if(i % j ==0)                       如果i和j 余数为0 进入break 停止for循环 进入下面 if 判断 如果 等于的话 就输入出来。否则
     {                                         在返回进入for   循环  如果余数不是0 回到循环自加 直到符合 i%j取余
                                               =0 可以进行break 为止。   
  break;
     }
 }
     if(i == j)
     {
         printf("%d\n",i);
     }
    }
    return 0;
}

2.编写一个程序,求出满足下列条件的四位数:该数是个完全平方数,且第一、三位数字之和为10,第二、四位数字之积为12
#include <stdio.h>
#include <math.h>
int main()
{
 int i;
  for (i=1000; i<10000; i++)
{
        int a = i / 1000;       //i除以1000 得出的数为最高为
        int b = i % 1000 / 100; //i和1000取余,余下的三位数和100除 得出的数为百位
        int c = i % 100 /10;    // i和100取余,余下的数和10除 得出的数为十位
        int d = i % 10;         // 和10取余 除到最后会余下两位数 得出的数为个位
  
  if((int)sqrt(i) == sqrt(i))  //判断是否为完全平方数
  {
   if ((a+c) == 10)         //判断第一、三位之和是否为10
   {
    if ((b*d) == 12)     //判断第二、四位之积是否为12
    {
     printf ("%d\n",i);
    }
   }
  }
}
 return 0;
}
3.快速找出一个数组中的最大数、第二大数。(笔试题)
#include<stdio.h>
int main ()
{
  int i, j, temp;
  for (i=0;i<6;i++)
  {
     for (j=0; j<6-i ; j++)
    {


        if(a[j]<a[j+1])
       {
          temp=a[j];
          a[j]= a[j+1];
          a[j+1] = a[j];
        }
      }
    } 
     printf ("Max=%d,SeondMax=%d\n", a[0],a[1]);
  return o;
  } 

4.编写程序,打印出9×9乘法表
      #include <stdio.h>
      int main ()
       {
         int i,j;
         for (i=1;i<10; i++)
         {
         for (j=1;j<10;j++)
            printf(" %d * %d = %d\n," i,j,i*j)
            printf("\n");            


          }
        return 0
        }

5.编写程序,将十进制转换为8进制并输出(不允许使用printf("%o"))
      #include <stdio.h>
       int main ()
       {
          int a[100];
          int t;
          int i;
          int j;
          int n;
       printf ("输入10进制数:\n");
        scanf ("%d,&n");
       for (t=0;t<100;t++)
         {
           if (n!=0)
           {
             i=n%8;
             a[t] = i;
             n =n/8;
            }
            else 
               break;
         }
        printf ("输出8进制数: \n");
               for  (j=t; j>=0; j--)            
            {
            printf ("%d",a[j]);
             } 
              printf ("\n");
          return o
        }



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值