zoukankan      html  css  js  c++  java
  • C语言程序

    程序01                                                                                                                                             

    实现功能:比较两个数组相同元素的个数

     1 #include<stdio.h>
     2 //#define min(a,b) (a>b)?b:a
     3 char i;
     4 int find(int s[], int m, int n)
     5 {
     6         int j,c=0,t[100];
     7 //      j = min(m, n);
     8         printf("输入数组t:");
     9         for (i = 0; i < n; i++)
    10         {
    11                 scanf("%d",&t[i]);
    12                 for (j = 0; j < m; j++)
    13                 {
    14                         if (t[i] == s[j])
    15                         {
    16                                 c++;
    17                         }
    18                 }
    19         }
    20         return c;
    21 
    22 }
    23 int main(void)
    24 {
    25         int s[100];
    26         int C;
    27         int  m,n;
    28         printf("输入m:");
    29         scanf("%d", &m);
    30         printf("输入S:");
    31         for (i = 0; i < m; i++)
    32         {
    33                 scanf("%d", &s[i]);
    34         }
    35         printf("输入n:");
    36         scanf("%d",&n);
    37         C=find(s, m, n);
    38         printf("输出C=%d
    ", C);
    39         return 0;
    40 }
    View Code

     程序02                                                                                                                                        

    int i, a[] = {3,4,5,6,7,3,7,4,4,6}; 
    for (i = 0; i <= 9; i++) 
    { 
     printf("%d
    ", a[i]); 
    }
    
    
    
    int i, a[] = {3,4,5,6,7,3,7,4,4,6}; 
    for (i = 0; i <= 9; i++) 
    { 
     printf("%d
    ", *(a+i)); 
    } 
    它的结果和作用完全一样
    View Code
    int i, *pa, a[] = {3,4,5,6,7,3,7,4,4,6}pa = a; 
    for (i = 0; i <= 9; i++) 
    { 
    printf("%d
    ", *pa); 
    pa++; /*注意这里,指针值被修改*/ 
    }

    你把循环体{}中的 pa改成 a 试试。你会发现程序编译出错,不能成功。看来指针和数组名还是不同的。其实上面的指针是指针变量,而数组名只是一个指针常量。这个代码与上面的代

    码不同的是,指针 pa 在整个循环中,其值是不断递增的,即指针值被修改了。
    数组名是指针常量,其值是不能修改的,因此不能类似这样操作:a++。

     程序03                                                                                                                                     

    求最大字符串

     1 #include <stdio.h>  /*使用库函数printf和gets*/
     2 #include <string.h>/*使用库函数strcmp*/
     3 #include <malloc.h>/*使用库函数malloc和free*/
     4 #define N 5
     5 int main()
     6 {
     7     char *str[N];
     8     int index, i;
     9     printf("请输入%d个字符串,每个字符串以回车结束:
    ", N);
    10     for (i = 0; i < N; i++)
    11     {
    12         str[i] = (char *)malloc(80);
    13         gets(str[i]);
    14     }
    15     index = 0;
    16     for (i = 1; i < N; i++)
    17     {
    18         if (strcmp(str[i], str[index]) > 0)
    19             index = i;
    20     }
    21     printf("最大的字符串是%s
    ", str[index]);
    22     for (i = 0; i < N; i++)
    23     {
    24         free(str[i]);
    25     }
    26 
    27     return 0;
    28 }
    View Code

     程序04                                                                                                                                    

    求平面上的距离

     1 #include<stdio.h>
     2 #include<math.h>
     3 struct point
     4 {
     5     double x;
     6     double y;
     7 };
     8 double distance(struct point p1,struct point p2)
     9 {
    10     double x, y, d;
    11     x = p2.x - p1.x;
    12     y = p2.y - p1.y;
    13     d = sqrt(x*x+y*y);
    14     return d;
    15 }
    16 int main(void)
    17 {
    18     struct point pa, pb;
    19     printf("Enter pa:");
    20     scanf("%lf%lf",&pa.x,&pa.y);
    21     printf("Enter pb:");
    22     scanf("%lf%lf",&pb.x,&pb.y);
    23     printf("distance:%lf
    ",distance(pa,pb));
    24 }
    View Code

     程序05                                                                                                                                  

    静态链表:用完后不能释放。大多数用动态链表。

     1 //建立一个存储三个学生信息的简单链表
     2 #include<stdio.h>
     3 #define NULL 0
     4 struct Student
     5 {
     6     int iNumber;//学号
     7     float score;//成绩
     8     struct Student *pNext;//指向下一个节点的指针
     9 };
    10 int main()
    11 {
    12     struct Student stu1,stu2,stu3,*head,*p;
    13     stu1.iNumber=101;stu1.score=97;
    14     stu2.iNumber=102;stu2.score=89.5;
    15     stu3.iNumber=103;stu3.score=78;
    16     head=&stu1;//指定头结点
    17     p=head;//给指针变量赋值
    18     stu1.pNext=&stu2;
    19     stu2.pNext=&stu3;
    20     stu3.pNext=NULL;
    21     do{
    22         printf("%d%5.1f
    ",p->iNumber,p->score);//输出当前p指向的结点的数据
    23         p=p->pNext;//p指向下一个结点
    24     }while(p!=NULL);
    25     return 0;
    26 }
    View Code
  • 相关阅读:
    Python error: Microsoft Visual C++ 9.0 is required (Unable to find vcvarsall.bat)解决方案
    3-Longest Substring Without Repeating Characters @LeetCode
    2-Add Two Numbers @LeetCode
    1-Two Sum @LeetCode
    DES原理及代码实现
    Linux网络篇,ssh原理及应用
    虚拟机如何通过“仅主机”模式上网
    MySQL入门,第八部分,多表查询(二)
    MySQL入门,第八部分,多表查询(一)
    MySQL入门,第七部分,单表查询
  • 原文地址:https://www.cnblogs.com/wy9264/p/10501540.html
Copyright © 2011-2022 走看看