<delect id="sj01t"></delect>
  1. <em id="sj01t"><label id="sj01t"></label></em>
  2. <div id="sj01t"></div>
    1. <em id="sj01t"></em>

            <div id="sj01t"></div>
            C語言

            C語言的基礎練習

            時間:2025-05-06 22:25:41 C語言 我要投稿

            C語言的基礎練習

              一、實驗目的

              對C語言的復習,增強學生對結構體數組和指針的學習,尤以結構體的應用和指針的操作作為重點。

              二、問題描述

              1、 構造一個學生結構體,成員包括學號,姓名,四門成績,以及平均成績;

              2、 從鍵盤上輸入學生的學號,姓名和四門成績;

              3、 找出學生中考試沒有通過的學生姓名并輸出;找出考試在90分以上的學生并輸出。

              三、實驗要求

              1、 要求分別用數組和鏈表存儲學生的記錄,并設計出輸入和查找的基本操作算法。

              2、 在實驗過程中,分析算法的時間復雜度和空間復雜度進行分析。

              四、實驗環境

              PC微機

              DOS操作系統或 Windows 操作系統

              Turbo C 程序集成環境或 Visual C++ 程序集成環境

              五、實驗步驟

              1、用所選擇的語言實現算法;

              3、 測試程序,并對算法進行時間和空間復雜度分析。

              結構體數組方法及測試結果:

              #include

              using namespace std;

              struct student

              {

              int num;

              char name[20];

              float score[4];

              float ave;

              }; //構造結構體student int i,j,k,m,n,a[100],b[100];

              struct student stu[100];

              int main()

              cout<<"Please input the number:(0 is end)"; cin>>stu[0].num;

              i=0;

              while (stu[i].num)

              {

              cout<<"Please input the name:"; cin>>stu[;

              cout<<"Please input the scores:"; stu[i].ave-0;

              for (j=0;j<=3;j++)

              {

              cin>>stu[i].score[j];

              stu[i].ave+=stu[i].score[j];

              }

              stu[i].ave=stu[i].ave/4.0;

              i++;

              cout<<"Please input the number:(0 is end)"; cin>>stu[i].num;

              } n=i-1;

              k=m=0;

              for (i=0;i<=n;i++)

              {

              if (stu[i].ave>90)

              a[k++]=i; else

              {

              for (j=0;j<=3;j++)

              if (stu[i].score[j]<60)

              {

              b[m++]=i; goto loop;

              }

              } //以上為輸入操作 //使用a[]存放90分以上的學生位置//使用a[]存放未通過的學生位置 {

              loop:; } //以上為查找操作 if (k>0)

              { for (i=0;i<=k-1;i++) cout<<stu[a[i]].name<<" ";

              cout<<"is(are) 90 above."<<endl;

              }             //輸出90以上的學生 if (m>0) {

              for (i=0;i<=m-1;i++)

              } cout<<stu[b[i]].name<<" "; cout<<"did not pass the exam."<<endl; }             //輸出未通過學生 return 0;

              鏈表方法及測試結果:

              #include

              using namespace std;

              struct student

              {

              long num;

              char name[20];

              float score[4];

              float ave;

              struct student *next;

              };

              int main()

              {

              struct student *head,*p,*q;

              int number,k,j,m,i;

              char *a[100],*b[100];

              head=0;

              k=0;

              cout<<"input the number of student:"; cin>>number;

              while (number!=0)

              {

              k++;

              p=new student;

              p->num=number;

              cout<<"Please input the name:";   cin>>p->name;

              cout<<"Please input the scores:";   p->ave=0;

              for (j=0;j<=3;j++)

              {

              cin>>p->score[j];

              p->ave+=p->score[j];

              }

              p->ave=p->ave/4.0;

              if (k==1)

              head=p;

              else q->next=p;

              q=p;

              cout<<"Please input the number:(0 is end)";  cin>>number;

              }          p->next=0;

              p=head;

              k=m=0;

              while (p) //以上為輸入操作

              {

              if (p->ave>90)

              a[k++]=p->name; else

              {

              for (j=0;j<=3;j++) if="" p-="">score[j]<60) {

              b[m++]=p->name;  goto loop;

              }

              }

              loop: p=p->next;

              }         if (k>0)

              {

              for (i=0;i<=k-1;i++)

              cout<<a[i]<<" ";

              cout<<"is(are) 90 above."<0)

              {

              for (i=0;i<=m-1;i++)

              cout<<b[i]<<" ";

              cout<<"did not pass the exam."<<endl; }        return 0;

              } //以上為查找操作 //輸出90以上的學生//輸出未通過的學生

            【C語言的基礎練習】相關文章:

            C語言練習08-22

            C語言程序基礎練習題帶答案09-26

            c語言基礎習題10-13

            C語言編程基礎08-17

            C語言基礎常識10-28

            C語言作業練習10-24

            C語言練習試題07-01

            C 語言基礎教程07-22

            C語言基礎知識10-13

            <delect id="sj01t"></delect>
            1. <em id="sj01t"><label id="sj01t"></label></em>
            2. <div id="sj01t"></div>
              1. <em id="sj01t"></em>

                      <div id="sj01t"></div>
                      黄色视频在线观看