苏嵌//学习日志

苏嵌 项目实战

 

学习日志 姓名: 吴秀贞  日期: 7、12

 

 

 

 

今日学习任务

 

1、总结前几天所学

2、测试c语言编程能力

日任务完成情况

 

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

1、完成前几天所学的汇总题目

2、完成4c语言编程题

日开发中出现的问题汇总

 

1、编写c语言不熟练

2、许多关于c语言的语法记忆模糊

3、不太会使用指针

 

日未解决问题

 

指针不太会使用,上午的题目有些不会写

日开发收获

1、回忆起部分c语言知识

2、对自己的c语言编写能力有了认识

3、整理和总结了前几天的学习的知识点

 

自我评

 

(是否按开发规范完成既定任务,需要改进的地方,与他人合作效果等)

 

 

学习C语言还需要更努力

其他

 

 

 

 1.用C语言打印出杨辉三角
杨辉三角形是形如:
1
1   1
1   2   1
1   3   3   1
1   4   6   4   1
的三角形,其实质是二项式(a+b)的n次方展开后各项的系数排成的三角形,它的特点是左右两边全是1,从第二行起,中间的每一个数是上一行里相邻两个数之和。

1 #include<stdio.h>
  2 
  3 int main()
  4 {
  5     int i;
  6 
  7     int j;
  8     int n;
  9     int a[100][100]={0};//设初值
 10     printf("Please input n:");
 11     scanf("%d",&n);//输入行数
 12     for(i = 0;i < n;i++)//1到n的循环
 13     {
 14         a[i][0] = 1;//将每行第一列赋值为一
 15         a[i][i]=1;//将行号与列号相同的赋值为一
 16         for(j = 1;j < i;j++)//1到i-1的循环
 17         {
 18             a[i][j] = a[i-1][j-1] + a[i-1][j];//将第i-1行第j-1列与i-1行j>    列的数相加得第i行第j列的值         
 19         }
20     }
 21     for(i = 0;i < n;i++)//0到n的循环
 22     {
 23         for(j = 0;j <= i;j++)//0到i的循环
 24         {
 25             printf("%6d",a[i][j]);//输出数组
 26         }
 27         printf("\n");
 28     }
 29     printf("\n");
 30     return 0;
 31 }


2.用C语言实现简单的计算器(加、减、乘、除)

  1 #include<stdio.h>
  2 
  3 int main()
  4 {
  5     float n;
  6     float m;
  7     char c;
  8     printf("please input:\n");
  9     scanf("%f",&n);//输入第一个数
 10     scanf("%c",&c);//输入运算符
 11     scanf("%f",&m);//输入第二个数
 12     switch(c)//判断运算符号
 13     {
 14         case'+':printf("%f\n",n + m);break;//进行加法
 15         case'-':printf("%f\n",n - m);break;//进行减法
 16         case'*':printf("%f\n",n * m);break;//进行乘法
 17         case'/':printf("%f\n",n / m);break;//进行除法
 18         default:break;
 19     }
 20 

3.利用递归方法实现一个函数,该函数能够实现n的阶乘,即 n! = n*(n-1)*…*3*2*1;

  1 #include<stdio.h>
  2 
  3 int main()
  4 {
  5         int n = 1;
  6         int i = 1;
  7         int N = 1;
  8         printf("please input n:\n");
  9         scanf("%d",&n);//输入一个数
 10         for(i = 1;i <= n;i++)//1到n的循环
 11         {
 12                 N = i * N;//1到n相乘
 13         }
 14         printf("n! = %d\n",N);//输出n!
 15         return 0;
 16 }

4、输入一个字符串,计算字符串中子串出现的次数
 1 #include <stdio.h>
  2 #include <string.h>
  3 void main()
  4 {
  5     char str1[100];//定义字符串数组
  6     char str2[100];//定义字符串数组
  7     char *p1;//定义指针变量
  8     char *p2;//定义指针变量
  9     int sum = 0;//定义整形变量
 10     printf("请输入一串字符串:\n");
 11     gets(str1);//输入字符串
 12     printf("请输入要统计的字符串:\n");
 13     gets(str2); //输入字符串    
 14     p1 = str1;//将str1赋值给指针变量P1
 15     p2 = str2;//将str2赋值给指针变量P2
 16     while(*p1 != '\0')//当读取完str1跳出循环
 17     {
 18         if(*p1 == *p2)//如果str1中P1所指的字符与str2中P2所指的相同
 19         {
 20             while(*p1 == *p2 && *p2 != '\0')//如果str1中有str2 循环
21             {
 22                 p1++;//P1向后移一位
 23                 p2++;//P2向后移一位
 24             }
 25         }
 26         else
 27         {
 28             p1++;//如果str1中P1所指的字符与str2中P2所指的不同,P1向后移一
    位
 29         }
 30         if(*p2 == '\0')        //判断P2是否读完
 31         {
 32             sum++;         //读完sum加一
 33             p2 = str2;//将str2再次赋值给指针变量P2
 34         }
 35     }
 36     printf("%d\n",sum);//输出sum
 37     getchar();
 38 }


猜你喜欢

转载自blog.csdn.net/fgyd123456789/article/details/81023306