zoukankan      html  css  js  c++  java
  • 第一次作业

    PTA第一次作业第一题:

    #include <stdio.h>
    
    void sum_diff( float op1, float op2, float *psum, float *pdiff );
    
    int main()
    {
        float a, b, sum, diff;
    
        scanf("%f %f", &a, &b);
        sum_diff(a, b, &sum, &diff);
        printf("The sum is %.2f
    The diff is %.2f
    ", sum, diff);
    	
        return 0; 
    }
    void sum_diff( float op1, float op2, float *psum, float *pdiff )
    {
      *psum=op1+op2;
      *pdiff=op1-op2;
    }
    
    

    第一步:求两个数的和
    第二步:求两个数的差
    PTA第一次作业第二题:

    #include <stdio.h>
    
    void splitfloat( float x, int *intpart, float *fracpart );
    
    int main()
    {
        float x, fracpart;
        int intpart;
    
        scanf("%f", &x);
        splitfloat(x, &intpart, &fracpart);
        printf("The integer part is %d
    ", intpart);
        printf("The fractional part is %g
    ", fracpart);
    
        return 0;
    }
    void splitfloat( float x, int *intpart, float *fracpart)
    {
      *intpart=(int)x;
      *fracpart=x-*intpart;
    }
    
    

    第一步:拆分的实数部分
    第二步:拆分的小数部分
    PTA第二次作业第一题:

    #include <stdio.h>
    #define MAXN 10
    
    int search( int list[], int n, int x );
    
    int main()
    {
        int i, index, n, x;
        int a[MAXN];
    
        scanf("%d", &n);
        for( i = 0; i < n; i++ )
            scanf("%d", &a[i]);
        scanf("%d", &x);
        index = search( a, n, x );
        if( index != -1 )
            printf("index = %d
    ", index);
        else
            printf("Not found
    ");
    
        return 0;
    }
    int search( int list[], int n, int x )
    {
      int i;
      for(i = 0;i < n;i++)
      {
        if(list[i] == x)
        {
         return i;
         break;
        }
      }
      return -1;
    }
    

    第一步:定义一个数组
    第二步:查找数组之中的元素
    第三步:按照要求输出结果
    流程图:

    无错误
    PTA第二次作业第二题:

    #include<stdio.h>
    #define N 10
    int fun(int *a,int *b,int n);
    int main()
    { int a[N],i,max,p=0;
    for(i=0;i<N;i++) scanf("%d",&a[i]);
     max=fun(a,&p,N);
     printf("max=%d,position=%d
    ",max,p);
     return 0;
    }
    int fun(int *a,int *b,int n)
    {
      int j,m=0;
      for(j = 1;j < N; j++)
      {
        if(m<a[j])
        {
    m=a[j];
    *b=j;
        }
      }
      return m;
    }
    

    第一步:定义一个m用来储存最大值
    第二步:定义一个数组来进行交换
    第三步:输出定义的值
    路程图:

    PTA第三次作业第一题:

    #include<stdio.h>
    void input(int *arr,int n);
    void max_min(int *arr,int n);
    void output(int *arr,int n);
    int main()
    { int a[10];
    input(a,10);
     max_min(a,10);
     output(a,10);
     return 0;
    }
    void input(int *arr,int n)
    {
      int i;
      for(i = 0;i < n;i ++)
      {
        scanf("%d",&arr[i]);
      }
    }
    void max_min(int *arr,int n)
    {
      int j,max = arr[0],min = arr[0],c,d,e,f;
      for(j = 0;j < n;j++)
      {
        if(max < arr[j])
        {
          max = arr[j];
          e = j;
        }
        c = max;
        if(min > arr[j])
        {
          min = arr[j];
          f = j;
        }
        d = min;
    }
    arr[e] = arr[9];
      arr[f] = arr[0];
      arr[0] = d;
      arr[9] = c;
    }
    void output(int *arr,int n)
    {
      int x;
      for(x = 0;x < n;x++)
      {
        printf("%3d",arr[x]);
      }
      }
    

    第一步:定义一个数组输入数
    第二步:定义一个数组做交换定义两个数做储存
    第三步:按照规定排序
    流程图:

    PTA第三次作业第二题:

    #include<stdio.h>
    void sort(int *x,int n);
    int main ( )
    {int *p,i,a[10];
     p=a;
     for (i=0;i<10;i++)  scanf("%d",p++);
     p=a;
     sort(a,10);
     for(i=0;i<10;i++)  printf("%4d",*p++);
     printf("
    ");
     return 0;
     }
    
    void sort(int *x,int n)
    {
    	int i,t,k,j;
    	for(i=0;i<(n-1);i++)
    	{
    		k=i;
    		for(j=i+1;j<n;j++)
    		{
    			if(*(x+j)>*(x+k))
    			{
    				k=j;
    			}
    		}
    		if(i!=k)
    		{
    			t=*(x+i); *(x+i)=*(x+k); *(x+k)=t;
    		}
    	 } 
    } 
    
    

    第一步:定义一些字母常量
    第二步:定义一个数组进行第一次排序
    第三步:定义数组进行多次排序
    第四步:输出结果
    流程图:


    PTA第四次作业第一题:

    #include <stdio.h>
    #include <string.h>
    
    #define MAXN 20
    typedef enum {false, true} bool;
    
    bool palindrome( char *s );
    
    int main()
    {
        char s[MAXN];
    
        scanf("%s", s);
        if ( palindrome(s)==true )
            printf("Yes
    ");
        else
            printf("No
    ");
        printf("%s
    ", s);
    
        return 0;
    }
    
    bool palindrome(char *s)  
    {  
    int n=strlen(s);  
    int i, j,count=0;  
    for (i = 0, j = n - 1; i < n, j >= 0; i++, j--)  
    {  if (*(s + i) == *(s + j))  
    {  
    count++;  
    }  
    }  
      if (count == n)  
    return true;  
      
    }  
    

    第一步:定义一些变量
    第二步:定义一个循环判断回文并计数
    第三步:输出结果
    流程图:

    PTA第四次作业第二题:

    #include <stdio.h>
    #define MAXN 20
    
    void strmcpy( char *t, int m, char *s );
    void ReadString( char s[] ); /* 由裁判实现,略去不表 */
    
    int main()
    {
        char t[MAXN], s[MAXN];
        int m;
    
        scanf("%d
    ", &m);
        ReadString(t);
        strmcpy( t, m, s );
        printf("%s
    ", s);
    
        return 0;
    }
    void strmcpy(char *t, int m, char *s)  
    {  
    int i, j, len;
    strcpy(s, t);  
    len = strlen(s);  
    for (i = m - 1; i>0; i--) {  
    for (j = i; j<len; j++) {  
    *(s + j - 1) = *(s + j);  
    }  
    }  
    *(s + len - m + 1) = '';  
    }  
    

    第一步:定义一些变量
    第二步:运用数组将M复制到N
    第三步:输出结果
    流程图:

    总结:
    在这两周的学习中,我学到了指针的简单的定义,了解了一些简单的指针的运用。但稍微迊一点的还是不会。还有在指针的运用的时候,在“*”号后面的括号内填写的加法我不会。还是需要多努力研究一下。
    评论交流:徐铭博:http://www.cnblogs.com/xmb1547828350/p/8597402.html
    杨雨鑫:http://www.cnblogs.com/yangyuxin/p/8646332.html
    张国庆:http://www.cnblogs.com/zgq947/p/8644349.html
    折线图:

  • 相关阅读:
    async 和 await
    Nginx配置反向代理与负载均衡
    简单使用高德地图开放平台API
    layui select 动态赋值
    ERROR: Pool overlaps with other one on this address space
    解决docker镜像无法删除的问题
    伪静态问题导致前台页面无法通过地址栏访问
    ERROR: Failed to Setup IP tables: Unable to enable SKIP DNAT rule
    PHP使用引用实现无限极分类
    composer update -- memory_limit
  • 原文地址:https://www.cnblogs.com/xuweiye/p/8647218.html
Copyright © 2011-2022 走看看