苏嵌//学习日志//7.12

苏嵌 项目实战

 

学习日志 姓名: 吴秀贞  日期: 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++)//1n的循环

 13     {

 14         a[i][0] = 1;//将每行第一列赋值为一

 15         a[i][i]=1;//将行号与列号相同的赋值为一

 16         for(j = 1;j < i;j++)//1i-1的循环

 17         {

 18             a[i][j] = a[i-1][j-1] + a[i-1][j];//将第i-1行第j-1列与i-1j>    列的数相加得第i行第j列的值         

 19         }

20     }

 21     for(i = 0;i < n;i++)//0n的循环

 22     {

 23         for(j = 0;j <= i;j++)//0i的循环

 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++)//1n的循环

 11         {

 12                 N = i * N;//1n相乘

 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)//如果str1P1所指的字符与str2P2所指的相同

 19         {

 20             while(*p1 == *p2 && *p2 != '\0')//如果str1中有str2 循环

21             {

 22                 p1++;//P1向后移一位

 23                 p2++;//P2向后移一位

 24             }

 25         }

 26         else

 27         {

 28             p1++;//如果str1P1所指的字符与str2P2所指的不同,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/81023393