• 第三次作业


    p->str++中的++加向p中的字符指针str。

    一、
    第一题

    #include<stdio.h>
    #include<string.h>
    #include<stdlib.h>
    struct book
    {
      char name[31];
      double cost;
    };
    main()
    {
      struct book s[10];
      int i,n;
      scanf("%d",&n);
      for(i=0;i<n;i++)
      { 
        scanf("
    ");
         gets(s[i].name); 
         scanf("%lf",&s[i].cost);  
      }
      int max=0,min=0;
      for(i=1;i<n;i++)
       {
         if(s[i].cost>s[max].cost){max=i;}
         if(s[i].cost<s[min].cost){min=i;}
       }
       printf("%.2f, %s
    ",s[max].cost,s[max].name);
       printf("%.2f, %s",s[min].cost,s[min].name);
       
    }
    

    第一步:先编译一个结构体,定义字符型name数组和双精度cost。
    第二步:在主函数中引用,定义i和n,在循环语句中输入n,再输入name数组,最后输入花费的价格。
    第三步:定义最大值和最小值都为零。再用一个循环,利用if条件句判断出最大值和最小值。
    第四步:分别输出所要的答案。
    错误信息:
    错误原因:没有引用结构体里的信息
    改正方法:在DEVC++中利用调试才发现的。

    第二题:

    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    struct student
    {
    	char num[20];
    	char name[20];
    	double s;
     };
    int main()
     {
     	struct student s[1000];
     	int i,n;
     	double aver=0;
     	scanf("%d",&n);
     	for(i=0;i<n;i++)
     	{
     		scanf("%s %s %lf",&s[i].num,&s[i].name,&s[i].s);
    	 }
    	 for(i=0;i<n;i++)
    	 {
    	 	aver= aver + s[i].s;
    	 }
    	 aver=aver/n;
    	 printf("%.2f
    ",aver);
    	 for(i=0;i<n;i++)
    	 {
    	 	if(s[i].s<aver)
    	 	{
    	 	printf("%s %s
    ",s[i].name,s[i].num);
    	 }
    }
    	 return 0;
     }
    

    第一步:在结构体中定义字符型num数组,name数组和双精度型s。
    第二步:在主函数中引用结构体并定义i,n,aver=0,输入n,利用for循环输入结构体num和name的值。
    第三步:再定义一个for循环,进行累加。
    第四步:使得aver=aver/n,然后输出aver。
    第五步:在for循环中用if条件语句判断s[i].s<aver,然后输出name和num。

    学习进度总结:
    指针与结构作业中题目所使用的知识点
    1:定义指针时需要在前面加一个*,而且指针是用来指向一个变量的地址的。
    2:结构体中,如果在主函数内引用结构体里面的内容,需要用该结构体的函数名加, 数组名。


    https://coding.net/u/wangzhiheng/p/pta/git/tree/master/?public=true

  • 相关阅读:
    OpenGL---------BMP文件格式
    OpenGL———混合的基本知识
    OpenGL------显示列表
    OpenGL---------光照的基本知识
    OpenGL学习--------动画制作
    OpenGL------三维变换
    OpenGL学习--------颜色的选择
    OpenGL学习-------点、直线、多边形
    Windows X64汇编入门(1)
    x86 x64下调用约定浅析
  • 原文地址:https://www.cnblogs.com/wangzhiheng/p/8907835.html
Copyright © 2020-2023  润新知