站長資訊網(wǎng)
        最全最豐富的資訊網(wǎng)站

        經(jīng)典C語言程序設(shè)計(jì)100例71-80

        【程序71】
        題目:編寫input()和output()函數(shù)輸入,輸出5個學(xué)生的數(shù)據(jù)記錄。
        1.程序分析:
        2.程序源代碼:
        #define N 5
        struct student
        { char num[6];
          char name[8];
          int score[4];
        } stu[N];
        input(stu)
        struct student stu[];
        { int i,j;
          for(i=0;i<N;i++)
          { printf(“n please input %d of %dn”,i+1,N);
           printf(“num: “);
           scanf(“%s”,stu[i].num);
           printf(“name: “);
           scanf(“%s”,stu[i].name);
            for(j=0;j<3;j++)
            { printf(“score %d.”,j+1);
             scanf(“%d”,&stu[i].score[j]);
            }
           printf(“n”);
          }
        }
        print(stu)
        struct student stu[];
        { int i,j;
        printf(“nNo. Name Sco1 Sco2 Sco3n”);
        for(i=0;i<N;i++)
        { printf(“%-6s%-10s”,stu[i].num,stu[i].name);
          for(j=0;j<3;j++)
           printf(“%-8d”,stu[i].score[j]);
          printf(“n”);
        }
        }
        main()
        {
          input();
          print();
        }
        —————————————————————————–
        【程序72】
        題目:創(chuàng)建一個鏈表。
        1.程序分析:           
        2.程序源代碼:
        /*creat a list*/
        #include “stdlib.h”
        #include “stdio.h”
        struct list
        { int data;
        struct list *next;
        };
        typedef struct list node;
        typedef node *link;
        void main()
        { link ptr,head;
        int num,i;
        ptr=(link)malloc(sizeof(node));
        ptr=head;
        printf(“please input 5 numbers==>n”);
        for(i=0;i<=4;i++)
        {
          scanf(“%d”,&num);
          ptr->data=num;
          ptr->next=(link)malloc(sizeof(node));
          if(i==4) ptr->next=NULL;
          else ptr=ptr->next;
        }
        ptr=head;
        while(ptr!=NULL)
        { printf(“The value is ==>%dn”,ptr->data);
          ptr=ptr->next;
        }
        }
        —————————————————————————–
        【程序73】
        題目:反向輸出一個鏈表。   
        1.程序分析:
        2.程序源代碼:
        /*reverse output a list*/
        #include “stdlib.h”
        #include “stdio.h”
        struct list
        { int data;
          struct list *next;
        };
        typedef struct list node;
        typedef node *link;
        void main()
        { link ptr,head,tail; 
          int num,i;
          tail=(link)malloc(sizeof(node));
          tail->next=NULL;
          ptr=tail;
          printf(“nplease input 5 data==>n”);
          for(i=0;i<=4;i++)
          {
           scanf(“%d”,&num);
           ptr->data=num;
           head=(link)malloc(sizeof(node));
           head->next=ptr;
           ptr=head;
          }
        ptr=ptr->next;
        while(ptr!=NULL)
        { printf(“The value is ==>%dn”,ptr->data);
          ptr=ptr->next;
        }}
        —————————————————————————–
        【程序74】
        題目:連接兩個鏈表。
        1.程序分析:
        2.程序源代碼:
        #include “stdlib.h”
        #include “stdio.h”
        struct list
        { int data;
        struct list *next;
        };
        typedef struct list node;
        typedef node *link;
        link delete_node(link pointer,link tmp)
        {if (tmp==NULL) /*delete first node*/
          return pointer->next;
        else
        { if(tmp->next->next==NULL)/*delete last node*/
           tmp->next=NULL;
          else /*delete the other node*/
           tmp->next=tmp->next->next;
          return pointer;
        }
        }
        void selection_sort(link pointer,int num)
        { link tmp,btmp;
          int i,min;
          for(i=0;i<num;i++)
          {
          tmp=pointer;
          min=tmp->data;
          btmp=NULL;
          while(tmp->next)
          { if(min>tmp->next->data)
          {min=tmp->next->data;
           btmp=tmp;
          }
          tmp=tmp->next;
          }
        printf(“40: %dn”,min);
        pointer=delete_node(pointer,btmp);
        }
        }
        link create_list(int array[],int num)
        { link tmp1,tmp2,pointer;
        int i;
        pointer=(link)malloc(sizeof(node));
        pointer->data=array[0];
        tmp1=pointer;
        for(i=1;i<num;i++)
        { tmp2=(link)malloc(sizeof(node));
          tmp2->next=NULL;
          tmp2->data=array[i];
          tmp1->next=tmp2;
          tmp1=tmp1->next;
        }
        return pointer;
        }
        link concatenate(link pointer1,link pointer2)
        { link tmp;
        tmp=pointer1;
        while(tmp->next)
          tmp=tmp->next;
        tmp->next=pointer2;
        return pointer1;
        }
        void main(void)
        { int arr1[]={3,12,8,9,11};
          link ptr;
          ptr=create_list(arr1,5);
          selection_sort(ptr,5);
        }
        —————————————————————————–
        【程序75】
        題目:放松一下,算一道簡單的題目。
        1.程序分析:
        2.程序源代碼:
        main()
        {
        int i,n;
        for(i=1;i<5;i++)
        { n=0;
          if(i!=1)
          n=n+1;
          if(i==3)
          n=n+1;
          if(i==4)
          n=n+1;
          if(i!=4)
          n=n+1;
          if(n==3)
           printf(“zhu hao shi de shi:%c”,64+i);
          }
        }
        —————————————————————————–
        【程序76】
        題目:編寫一個函數(shù),輸入n為偶數(shù)時,調(diào)用函數(shù)求1/2+1/4+…+1/n,當(dāng)輸入n為奇數(shù)時,調(diào)用函數(shù)
            1/1+1/3+…+1/n(利用指針函數(shù))
        1.程序分析:
        2.程序源代碼:
        main()
        #include “stdio.h”
        main()
        {
        float peven(),podd(),dcall();
        float sum;
        int n;
        while (1)
        {
          scanf(“%d”,&n);
          if(n>1)
           break;
        }
        if(n%2==0)
        {
          printf(“Even=”);
          sum=dcall(peven,n);
        }
        else
        {
          printf(“Odd=”);
          sum=dcall(podd,n);
        }
        printf(“%f”,sum);
        }
        float peven(int n)
        {
        float s;
        int i;
        s=1;
        for(i=2;i<=n;i+=2)
          s+=1/(float)i;
        return(s);
        }
        float podd(n)
        int n;
        {
        float s;
        int i;
        s=0;
        for(i=1;i<=n;i+=2)
          s+=1/(float)i;
        return(s);
        }
        float dcall(fp,n)
        float (*fp)();
        int n;
        {
        float s;
        s=(*fp)(n);
        return(s);
        }
        —————————————————————————–
        【程序77】
        題目:填空練習(xí)(指向指針的指針)
        1.程序分析:     
        2.程序源代碼:
        main()
        { char *s[]={“man”,”woman”,”girl”,”boy”,”sister”};
        char **q;
        int k;
        for(k=0;k<5;k++)
        {       ;/*這里填寫什么語句*/
          printf(“%sn”,*q);
        }
        }
        —————————————————————————–
        【程序78】
        題目:找到年齡最大的人,并輸出。請找出程序中有什么問題。
        1.程序分析:
        2.程序源代碼:
        #define N 4
        #include “stdio.h”
        static struct man
        { char name[20];
        int age;
        } person[N]={“li”,18,”wang”,19,”zhang”,20,”sun”,22};
        main()
        {struct man *q,*p;
        int i,m=0;
        p=person;
        for (i=0;i<N;i++)
        {if(m<p->age)
          q=p++;
          m=q->age;}
        printf(“%s,%d”,(*q).name,(*q).age);
        }
        —————————————————————————–
        【程序79】
        題目:字符串排序。
        1.程序分析:
        2.程序源代碼:
        main()
        {
        char *str1[20],*str2[20],*str3[20];
        char swap();
        printf(“please input three stringsn”);
        scanf(“%s”,str1);
        scanf(“%s”,str2);
        scanf(“%s”,str3);
        if(strcmp(str1,str2)>0) swap(str1,str2);
        if(strcmp(str1,str3)>0) swap(str1,str3);
        if(strcmp(str2,str3)>0) swap(str2,str3);
        printf(“after being sortedn”);
        printf(“%sn%sn%sn”,str1,str2,str3);
        }
        char swap(p1,p2)
        char *p1,*p2;
        {
        char *p[20];
        strcpy(p,p1);strcpy(p1,p2);strcpy(p2,p);
        }
        —————————————————————————–
        【程序80】
        題目:海灘上有一堆桃子,五只猴子來分。第一只猴子把這堆桃子憑據(jù)分為五份,多了一個,這只
            猴子把多的一個扔入海中,拿走了一份。第二只猴子把剩下的桃子又平均分成五份,又多了
            一個,它同樣把多的一個扔入海中,拿走了一份,第三、第四、第五只猴子都是這樣做的,
            問海灘上原來最少有多少個桃子?
        1.程序分析:
        2.程序源代碼:
        main()
        {int i,m,j,k,count;
        for(i=4;i<10000;i+=4)
        { count=0;
        m=i;
        for(k=0;k<5;k++)
        {
          j=i/4*5+1;
          i=j;
          if(j%4==0)
           count++;
          else
           break;
        }
          i=m;
          if(count==4)
          {printf(“%dn”,count);
           break;}
        }
        }

         

        贊(0)
        分享到: 更多 (0)
        網(wǎng)站地圖   滬ICP備18035694號-2    滬公網(wǎng)安備31011702889846號
        主站蜘蛛池模板: 999国内精品永久免费视频| 日韩精品免费视频| 99热这里只有精品6国产免费| 亚洲精品国精品久久99热一| 中文精品一卡2卡3卡4卡| 久久精品国产亚洲AV麻豆网站| 九九热这里只有国产精品| 精品一区二区三区中文字幕 | 97精品伊人久久大香线蕉app| 亚洲性日韩精品国产一区二区| 国产精品亚洲w码日韩中文| 精品一卡2卡三卡4卡免费视频| 精品无码人妻一区二区三区品| 亚洲精品无码精品mV在线观看| 拍国产乱人伦偷精品视频| 国产精品国产三级国产| 四虎国产精品免费久久5151| 国产精品高清一区二区人妖| 国产精品国产三级国产av品爱网| 亚洲av日韩精品久久久久久a | 在线精品自拍无码| 欧美XXXX黑人又粗又长精品| 国产精品爱搞视频网站 | 久久亚洲精品无码观看不卡| 国产欧美精品专区一区二区| 中文字幕一区二区精品区| 日韩精品一区二区三区四区| 久久久91精品国产一区二区三区| 国产精品午睡沙发系列| 久久精品国产亚洲AV大全| 久久夜色精品国产欧美乱| 无码人妻精品中文字幕免费| 小辣椒福利视频精品导航| 亚洲国产精品无码久久SM | 亚洲综合精品一二三区在线 | 精品蜜臀久久久久99网站| 精品9E精品视频在线观看| 久久99热只有频精品8| 精品不卡一区二区| 国产成人精品免费视频动漫| 国产精品臀控福利在线观看|