今日学习任务 | 内容回顾辅导及测试 |
今日任务完成情况 | 测试未在规定时间内完成 |
今日开发中出现的问题汇总
| 1、 main函数缺少函数声明产生警告 2、 系统时间改变编译时也产生了警告 |
今日未解决问题 | 无 |
今日开发收获 | 1、 巩固了一些基本知识 2、 能够根据问题写出代码并输出结果 |
自我评价 | 按开发规范完成了既定任务 |
其他 | 无 |
1、 打印输出10行的杨辉三角
1 #include<stdio.h>
2 int main()
3 {
4 int a[10][30]; //定义一个二维数组
5 int i;
6 int j;
7 for (i = 0;i <= 9;i ++)
8 {
9 a[i][0] = 1; //第一列全为1
10 a[i][i] = 1; //对角线全为1
11 }
12 for(i = 2;i <= 9;i ++)
13 {
14 for(j = 1;j <= (i-1);j ++)
15 {
16 a[i][j] = a[i-1][j-1] + a[i-1][j]; //此行此列的值等于上一行前一列的值加上上一行此列的值
17 }
18 }
19 for(i = 0;i <= 9;i ++)
20 {
21 for(j = 0;j <= i; j ++)
22 {
23 printf("%6d",a[i][j]);//输出一行
24 }
25 printf("\n");//输出一行结束后换行
26 }
27 return 0;
28 }
[root@localhosttest1]# ./test1
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
1 6 15 20 15 6 1
1 7 21 35 35 21 7 1
1 8 28 56 70 56 28 8 1
1 9 36 84 126 126 84 36 9 1
2、 用函数实现递归调用求n!
1#include<stdio.h>
2
3int main()
4 {
5 int fac(int n);//声明递归函数
6 int n;
7 int m;
8 printf("inputn:");
9 scanf("%d",&n);//键盘输入
10 m= fac(n);//将递归返回值给m
11 printf("%d! = %d\n",n,m);//输出结果
12 return 0;
13 }
1#include<stdio.h>
2
3int fac(int n)//定义递归函数
4 {
5 int f = 0;
6 if(n < 0)
7 printf("dataerror\n");//n<0时输出错误
8 else if(n == 0 || n == 1)
9 f = 1;//n=0或n=1时返回值为1
10 else
11 f = fac(n - 1) * n;//n>1时递归调用函数本身实现n的阶乘
12 return f;//返回阶乘所得的值
13 }
[root@localhost test3]# ./test3
input n:10
10! = 3628800
3、 输入一个字符串,计算字符串中子串出现的次数
[root@localhost test4]# vim main/src/main.c
1#include<stdio.h>
2
3int main()
4 {
5 int count(char a[50],charb[10]);//声明计数函数
6 char a[50];//定义字符数组
7 char b[10];
8 int c;
9 printf("input astring:");
10 gets(a);//键盘输入副字符串
11 printf("input a word:");
12 gets(b);//键盘输入子串
13 c= count(a,b);//将计数值给c
14 printf("%d\n",c);//输出结果
15 return 0;
16 }
[root@localhost test4]# vimcount/src/count.c
1#include<string.h>
2
3int count(char a[50],char b[10])
4 {
5 int i;
6 int num = 0;//赋初值
7 i = strlen(b); //取子串长度
8 while(strlen(a) > 0)//父串长度大于0
9 {
10 if(strncmp(a,b,i) == 0)//判断父串中是否出现子串
11 {
12 num ++;//父串中子串每出现一次加1
13 a += i;//数组名加上子串长度
14 }
15 else
16 a ++;//若父串中不出现子串,数组名加1,指向下一个字符
17 }
18 return num;//返回计数值
19 }
[root@localhost test4]# ./test4
input astring:abcdefghigjlkkjgjajkjakjiejkjaaljlkeijgjlkjf
input a word:j
12