文章目录

C语言作业记录

由 XuanVI 发布

2020/3/17

  • 从键盘输入一个字符串,判断是否为对称字符串,若是输出「YES」,若不是输出「NO」
    #include<stdio.h>
    #include<string.h>
    int main()
    {
     char  a[ 10 ];
     char* p;
     int   i, x, y, z;
     p = &a[ 0 ];
     for ( i = 0; i < 10; i++ )
         a[ i ] = '\0';
     gets( a );
     x = 0;
     y = strlen( a );
     for ( i = 0; i < y / 2; i++ )
         if ( *( p + i ) != *( p + y - i - 1 ) )
         {
             x = 1;
             break;
         }
     if (x == 0)
         printf( "YES\n" );
     else
         printf( "NO\n" );
     return 0;
    }
  • 用指针方法,在一个一维数组 int a[10] 的元素中,查找给定的数,若找到则输出该数,若没找到,输出「NO」。
    #include <stdio.h>
    #include <string.h>
    int main()
    {
     int n, i;
     int a[ 10 ];
     int *p = a;
     for ( i = 0; i < 10; i++)
     {
         scanf( "%d", &a[ i ] );
     }
     scanf( "%d", &n );
     for ( i = 0;; i++)
     {
         if(n==*(p+i))
         {
             printf( "%d\n", *( p + i ) );
             break;
         }
         if(i==9)
         {
             printf( "NO\n" );
             break;
         }
     }
     return 0;
    }
  • 编写函数 scomp(char *s1,char *s2),将两个字符串s1和s2进行比较,要求若s1= s2,函数返回值为0;若s1≠s2,返回它们二者第一个不同字符的 ASCII 码差值(如:「BOY」与「BAD」,第2个字母不同,「O」与「A」之差为 79-65=14 ), 即s1> s2,函数返回值为正数;若s1< s2,函数返回值为负数。在主函数调用 scomp 函数并输出返回值。
    #include <stdio.h>
    #include <string.h>
    int main()
    {
     int scomp( char* s1, char* s2 );
     char s1[ 10 ];
     char s2[ 10 ];
     int  n;
     puts( "Please enter string s1:\n" );
     gets( s1 );
     puts( "Please enter string s2:\n" );
     gets( s2 );
     printf( "%d", scomp( s1, s2 ) );
     return 0;
    }
    int scomp( char* s1, char* s2 )
    {
     int i;
     while((*s1==*s2)&&*s1)
     {
         s1++;
         s2++;
     }
     i = *s1 - *s2;
     return i;
    }

暂无评论

发表评论


`, "text/html").getElementsByTagName("script") var script for(var i = 0; i