第一个周末的作业

第一题:打印杨辉三角

 #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 }                                                       
~                                                     

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值