1.输入一个字符串,计算空格的个数
#include <stdio.h>
2 int main(int argc, const char *argv[])
3 {
4 char a[20];
5 gets(a);
6 int i;
7 unsigned long count =0;
//for( i<strlen(arr)-1)
8 for(i=0;a[i]!='\0';i++)
9 {
10 if(a[i]==32)
11 {
12 count++;
13 }
14 }
15
16 printf("空格有%ld\n个",count);
17 return 0;
18 }
![](https://i-blog.csdnimg.cn/blog_migrate/1ece75000a699a55a88577a715bbf09c.png)
2.输入一个字符串,计算单词的个数
eg: “good good study”(空格的格式可能是多个)
单词的个数是3,
1 #include <stdio.h>
2 int main(int argc, const char *argv[])
3 {
4 //good good study
5 char arr[20];
//有空格,不能用scanf
6 gets(arr);
7 int i;
8 int flag =0;
9 unsigned long count =0;
10 for(i=0;arr[i]!='\0';i++)
11 {
12 if(arr[i]==32)
13 {
14 flag = 0;
15 }
16 if(arr[i]!=32&&flag==0)
17 {
18 flag =1;
19 count++;
20 }
21 }
22
23 printf("有%ld\n个单词",count);
24 return 0;
25 }
![](https://i-blog.csdnimg.cn/blog_migrate/352de474c4095207d2c32af9ead1d3c7.png)
3.矩阵相乘:前提条件A矩阵的列数需要和B矩阵的行数相同
![](https://i-blog.csdnimg.cn/blog_migrate/022725e17afbbe35fa2235c71694aba8.png)
#include <stdio.h>
2 int main(int argc, const char *argv[])
3 {
4 int i,j,k;
5 int a[2][3];
6 int b[3][2];
7 int c[2][2];
8 for(i=0;i<2;i++)
9 {
10 for(j=0;j<3;j++)
11 {
12 scanf("%d",&a[i][j]);
13 }
14 }
15
16 for(i=0;i<3;i++)
17 {
18 for(j=0;j<2;j++)
19 {
20 scanf("%d",&b[i][j]);
21 }
22 }
23 int sum;
24
25 for(i=0;i<2;i++)
26 {
27
28 for(j=0;j<2;j++)
29 {
30 sum=0;
31 for(k=0;k<3;k++)
32 {
33 sum+=a[i][k]*b[k][j];
34 }
35 c[i][j]=sum;
36 }
37 }
38 for(i=0;i<2;i++)
39 {
40 for(j=0;j<2;j++)
41 {
42 printf("%d",c[i][j]);
44 }
45 puts(" ");
46 }
47
48 return 0;
49 }
![](https://i-blog.csdnimg.cn/blog_migrate/07c2f0fc5a16d0986e1a22c8d3b58bdc.png)
4.定义有参无返函数实现杨慧三角
参数:二维数组,行,列
1 1 #include <stdio.h>
2 #include<string.h>
3 void Yanghui(int n,int arr[n][n]);
4 int main(int argc, const char *argv[])
5 {
6 //int line,row;
7
8 int n=0;
9 scanf("%d",&n);
10 int arr[n][n];
11 // line =sizeof(arr)/sizeof(arr[0]);
12 // row = sizeof(arr[0])/sizeof(arr[0][0]);
13 Yanghui(n,arr);
14
15
16 return 0;
17 }
18
19 void Yanghui(int n,int arr[n][n])
20 {
21 int i,j;
22 for(i=0;i<n;i++)
23 {
24 for(j=0;j<=i;j++)
25 {
26 if(j==0||i==j)
27 {
28 arr[i][j]=1;
29 }
30 else
31 {
32 arr[i][j]=arr[i-1][j-1]+arr[i-1][j];
33 }
34
35 printf("%d",arr[i][j]);
36 }
37 puts(" ");
38 }
39 }
~
![](https://i-blog.csdnimg.cn/blog_migrate/8e898849e3084ad30e8e87032fa81fc4.png)
5.定义有参无返函数实现二维数组转置?
参数:二维数组,行,列
#include <stdio.h>
2 #include<string.h>
3 void Erwei(int line,int row, int a[line][row]);
4 int main(int argc, const char *argv[])
5 {
6 /*int n;
7 scanf("%d",&n);*/
8 int a[2][3]={1,2,3,4,5,6};
9 int line = sizeof(a)/sizeof(a[0]);
10 int row = sizeof(a[0])/sizeof(a[0][0]);
11 Erwei(line,row,a);
12 return 0;
13 }
14
15 void Erwei(int line,int row,int a[line][row])
16 {
17 int b[row][line];
18
19 int i,j;
20 for(i=0;i<line;i++)
21 {
22 for(j=0;j<row;j++)
23 {
24 b[j][i]=a[i][j];
25 }
26 }
27 for(i=0;i<row;i++)
28 {
29 for(j=0;j<line;j++)
30 {
31 printf("%d",b[i][j]);
32 }
33 puts("");
34 }
35
36 }
![](https://i-blog.csdnimg.cn/blog_migrate/157850fbce4adf112e300471e2ba20cd.png)
6.输入一个字符串实现单词的逆置
eg:"good good study"
输出:“study good good”
#include <stdio.h>
2 #include<string.h>
3 int main(int argc, const char *argv[])
4 {
5 // study good good
6 int i,j,k;
7 char a[20]="";
8 gets(a);
9 printf("原字符串是%s\n",a);
10 //1.整体逆置
11 i =0;
12 j = strlen(a)-1;
13 while(i<j)
14 {
15 char t =a[i];
16 a[i]=a[j];
17 a[j]=t;
18 i++;
19 j--;
20 }
21
22 //doog doog yduts
23 //2.单词逆置
24 i=j=0;
25 while(a[i]!='\0')
26 {
27 while(a[j]!=' '&&a[j]!='\0')
28 {
29 j++;
30 }
31 k=j-1;
32 while(i<k)
33 {
34 char s =a[i];
35 a[i]=a[k];
36 a[k]=s;
37 i++;
38 k--;
39 }
40 while(a[j]==' ')
41 {
42
43 j++;
}
45 i=j;
46
47 }
48
49 puts(a);
50 return 0;
51 }
![](https://i-blog.csdnimg.cn/blog_migrate/4d78b338177a79d1d98d558a4b4ccf69.png)
7.输入n个字符串每个字符串20字节,并实现输出
1 #include <stdio.h>
2
3
4 int main(int argc, const char *argv[])
5 {
6 int n;
7 int i;
8 char arr[n][20];
9 scanf("%d",&n);
10 for(i=0;i<n;i++)
11 {
12 scanf("%s",&arr[i][0]);
13 }
14
15 for(i=0;i<20;i++)
16 {
17 printf("%s",arr[i]);
18 }
19
20 return 0;
21 }
~
![](https://i-blog.csdnimg.cn/blog_migrate/398a707dc8e271d6802ff792521a14c9.png)
![](https://i-blog.csdnimg.cn/blog_migrate/bac22bc43ef96fe32df3e7f9d6712a9b.png)