第一题:打印杨辉三角
#include <stdio.h>
2 int main(int argc, const char *argv[])
3 {
4 int a[6][6];
5 for(int i=0;i<6;i++)
6 {
7 for(int j=0;j<6-i;j++)
8 printf(" ");
9 for(int j=0;j<=i;j++)
10 {
11 if(j==0||i==j)
12 {
13 a[i][j]=1;
14 }
15 else
16 {
17 a[i][j]=a[i-1][j-1]+a[i-1][j];
18 }
19 printf("%-4d",a[i][j]);
20
21 }
22 printf("\n");
23 }
24
25
27 return 0;
第二题:图形打印
1 #include <stdio.h>
2 int main(int argc, const char *argv[])
3 {
4 char a[5]="ABCD";
5 for(int i=0;i<=4;i++)
6 {
7 for(int j=0;j<=i;j++)
8 printf("%c",a[i]);
9 printf("\n");
10
11 }
12
13 for(int i=4;i>=0;i--)
14 {
15 for(int j=4-i;j<=4;j++)
16 printf("%c",a[i]);
17 printf("\n");
18 }
19
20 return 0;
21 }
~
第三题.穷举算法
日本某地发生了一件谋杀案 ,警察通过排查确定杀人凶手必定是四个中的一个。
一下四个嫌疑犯的供词
A:罪犯是他们三个人中的一个;
B:人不是我杀的,C;
C:A和D之间有一个是罪犯;
D:B说的是事实;
已经知道其中两个人说的是真话,两个人说的是讲话;
第三题答案
1 #include <stdio.h>
2 int main(int argc, const char *argv[])
3 {
4 for(char a='A';a<'D';a++)
5 {
6 if(((a!='A')+(a=='C')+(a=='A'||a=='D')+(a=='c'))==2)
7 printf("凶手是%c\n",a);
8
9 }
10
11 return 0;
12 }
~
第五题,字符串逆置
"good good study"
"study good good"
第五题答案
1 #include <stdio.h>
2 #include <string.h>
3 int main(int argc, const char *argv[])
4 {
5 char a[]="good good study";
6 int n=strlen(a)-1;
7 for(int i=0;i<n;i++)
8 {
9
10 char t=a[i];
11 a[i]=a[n];
12 a[n]=t;
13 n--;
14 }
15 printf("%s\n",a);
16 int i=0,j=0;
17 while(a[i]!=0)
18 {
19 while(a[j]!=' '&&a[j]!=0)
20 j++;
21 char m=j-1;
22 while(m>i)
23 {
24 char t=a[i];
25 a[i]=a[m];
26 a[m]=t;
27 i++;m--;
28 }
29 while(a[j]==' ')
30 j++;
31 i=j;
32
33
34 }
35 printf("%s\n",a);
36
37 return 0;
38 }
第六题实现atio函数
1 #include <stdio.h>
2 int main(int argc, const char *argv[])
3 {
4 char num[3]="99";
5 int sum=0;
6 for(int i=0;i<2;i++)
7 {
8 sum=sum*10+num[i]-'0';
9 }
10 printf("%d\n",sum);
11 return 0;
12 }
第七题
输入一个字符串,删除字符串中的空格
1 #include <stdio.h>
2 #include <string.h>
3 int main(int argc, const char *argv[])
4 {
5 char a[]="i love you";
6 int n=strlen(a);
7 for(int i=0;i<n;i++)
8 {
9 if(a[i]==' ')
10 {
11 for(int j=i+1;j<=n;j++)
12 a[j-1]=a[j];
13 }
14
15 }
16 printf("结果是%s\n",a);
17 return 0;
18 }
第八题
strlen函数
1 #include <stdio.h>
2 int main(int argc, const char *argv[])
3 {
4
5 int i=0;
6 char a[]="i love you";
7 while(a[i]!=0)
8 i++;
9 printf("字节是%d\n",i);
10 return 0;
11 }
strcmp
1 #include <stdio.h>
2 int main(int argc, const char *argv[])
3 {
4 char a[]="12";
5 char b[]="123";
6 int i=0;
7 while(a[i]==b[i])
8 {
9 if(a[i]==0)
10 break;
11 i++;
12 }
13 if(a[i]>b[i])
14 printf("a>b\n");
15 else if(a[i]==b[i])
16 printf("a=b\n");
17 else if(a[i]<b[i])
18 printf("a<b\n");
19
20
21 return 0;
22 }
strcpy
~ 1 #include <stdio.h>
2 #include <string.h>
3 int main(int argc, const char *argv[])
4 {
5 char a[20]="hellsdfwerow";
6 char b[]="12345678";
7
8 int i=0;
9 for(i=0;i<strlen(b);i++)
10 {
11 a[i]=b[i];
12 }
13 a[i]='\0';
14 printf("结果是%s",a);
15 return 0;
16 }
#include <stdio.h>
2 #include <string.h>
3 int main(int argc, const char *argv[])
4 {
5 char a[40]="hellsdfwerow";
6 char b[]="12345678";
7
8 int i=0;
9 for(int j=strlen(a);j<=strlen(a)+strl
10 {
11 a[j]=b[i];
12 i++;
13 }
14 printf("结果是%s\n",a);
15 return 0;
16 }
~