有一个含10个元素的数组,先输入9个按从小到大顺序排好的数据存入数组,再输入一个数, 要求按原来排序的规律将它插入数组中。
int a[10], i,j, x;
for(i=0; i<9;i++)
    scanf("%d", &a[i]);
scanf("%d", &x);
for(i=0;i<9;i++)    //到第一个大于x的a[i]
    if(a[i]>x) break;
if(i!=9)
    for(j=8; j>=i; j--)  //从最后元素开始到a[i]
        a[j+1]=a[j];    //向后移动一个位置
a[i]=x;
for(i=0; i<10;i++)
    scanf("%d  ", a[i]);
输入两个实数,用一个函数求出它们的平均。
#include <stdio.h>
int main()
{ float average(float x, float y);     
  float a,b,c;
  scanf("%f,%f",&a,&b);             
  c=average(a,b);                     
  printf("平均=%.3f\n",c); 
  return 0;
}
float average(float x,float y)
{ float z;                         
  z=(x+y)/2;
  return  z;                     
}
写一个判断素数的函数
int isprime( int  n)  //判断n是否素数,  是返回1, 不是返回0
{ int i;
  for(i=2; i<=n/2; i++)
        if(n%i==0)    break;
  if( i>n/2)    return 1;
  else      return  0;
}
int main()
{    int n;
    scanf("%d", &n);
    if( isprime(n) )  puts("prime");
    else  puts ("not prime");
    return 0
}
用递归方法求n!
#include <stdio.h>
int main()
{int fac(int n);
  int n;  int y;
  scanf("%d",&n); 
  y=fac(n);
  printf("%d!=%d\n",n,y);
  return 0;
}
int fac(int n)
{  int f;
    if( n==1)  f=1;
    else  f=fac(n-1)*n;
    return  f;
}
用函数交换两个变量的值
#include <stdio.h>
int main()
{void swap(int *p1,int *p2); 
  int a, b,  *pt1, *pt2;
  scanf(“%d,%d”,&a,&b); 
  pt1=&a;  pt2=&b; 
  swap(pt1,pt2);  //也可以swap( &a, &b);
  printf(“a=%d,b=%d\n”,a,b);
  return 0;
}   
void swap(int *p1,int *p2)
{ int temp;
  temp=*p1;   
  *p1=*p2;
  *p2=temp;
}
编写一函数,计算两个实数的加减, 在主函数输出结果(不使用全局变量)
#include <stdio.h>
int main()
{  void  function(float n1, float n2, float *p1, float *p2);
  float  x,y,a,b;    //x,y存输入数据, a,b存函数的2个结果
  scanf( "%f,%f", &x, &y );
  function(x,y, &a, &b);  //将a,b的地址(指针)传递过去
  printf("x+y=%f,x-y=%f\n", a,b );   
  return 0;
}
//调用时, p1指向a, p2指向b
void  function(float n1, float n2, float *p1, float *p2)
{  *p1=n1+n2; //存入p1所指向的变量中(主函数的a)
    *p2=n1-n2;  //存入p2所指向的变量中(主函数的b)
}
通过指针变量快速输入输出累加整型数组a的10个元素。
#include <stdio.h>
int  main()
{ int  *p, i, sum, a[10];
  p=a;  //p指向a[0] (一维数组名是指向首元素的指针常量)
  printf(“enter 10 integer numbers:\n");
  for(i=0;i<10;i++,p++)  //p++使p指向下一个元素
        scanf(“%d”,p);  //p是a[i]的地址
  p=a;  //p重新指向a[0]
  for(i=0;i<10;i++,p++)
        printf(“%d\n”,*p);  //p指向a[i], *p就是a[i]
  for(p=a,sum=0,i=0;  i<10; i++,p++)
        sum+=*p;
  printf(“sum=%d\n“, sum);
  return 0;
}
用函数实现数组输入输出统计(指针法)
#include <stdio.h>
int main()
{ void  input( float  *p);  //函数声明
  void  output( float  *p);  //函数声明
  float  average( float *p); //函数声明
  float score[10], aver; 
  input(score);      //输入成绩, 实参是数组名
  output( score );  //输出成绩, 实参是数组名
  aver=average(score);  //平均成绩, 实参是数组名
  printf("aver=%f\n",  aver);
  return 0;
}
void  input(float *p) //指针法  形参定义为指针变量, p指向score[0]
{ int i;
  for(i=0; i<10; i++, p++)  scanf("%f",  p);
}
字符串长度排序c语言void  output(float *p) //指针法  形参定义为指针变量, p指向score[0]
{ int i;
  for(i=0; i<10; i++, p++)    printf("%f\n",  *p);
}
float average(float *p) //指针法  形参定义为指针变量
{  int i;    float sum=0;
    for(i=0; i<10; i++,p++)    sum+=*p;
    return sum/10;
}
用函数调用实现字符串的复制。(用字符指针变量作函数形参)
int main()
{void copy_string(char *to, char *from);
  char *a=“I am a teacher”,  b[20]; //a串用字符指针形式
  copy_string(b, a); 
  printf(“a=%s\nb=%s\n”,a,b);
  return 0;
}
void copy_string(char *to char *from)
{ for(  ;*from!='\0'; from++,to++)
        {  *to=*from;  }
  *to='\0';
}
定义一个学生结构变量,输入,输出
#include <stdio.h>
int main( )
{  struct student
  { int num;
      char name[20];
  };   
  struct student s;
  printf("enter num name:");
  scanf("%d%s", &s.num, s.name);
  printf("num=%d  name=%s\n", s.num, s.name);
  return 0;
}
定义一个学生结构数组,输入,输出
int main()
{  struct student  { int num;  char name[20];  };   
  struct student s[10];  int i;  //s的每个元素都是结构体变量
  for(i=0; i<10; i++) 
  { printf("enter num name:");
    scanf("%d%s", &s[i].num, s[i].name);
  }
  for(i=0; i<10; i++) 
  {  printf("num=%d  name=%s\n", s[i].num, s[i].name);
  }
}
用函数实现结构体变量的输入,输出
#include <stdio.h>
//定义全局结构名
struct student
{ int num;
    char name[20];
};   
int main()
{struct student s;
void input( struct student *p);
void display( struct student s);
  input( &s);//实参是指针

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。