废话不说,咱们直接上车

索引

    • 1.计算三角形面积
    • 2.分段函数计算,输入一个x值,计算并输出y值。
    • 3.求e=1+1/1!+1/2!+1/3!+……..+1/n!
    • 4.最小公倍数
    • 5.求最高分
    • 6.求数列和
    • 7.输出平均分和低于平均分学生成绩
    • 8.从键盘输入一字符串,将其逆序输出。
    • 9.字符串连接
    • 10.字符串复制
    • 11.编写函数,求1+2+3+…….+m。
    • 12.用函数计算分段函数的值
    • 13.编写函数,求3个整数最小值。
    • 14.编写判断素数函数
    • 15.编写求最大公约和最小公倍函数
    • 16.编写求n个a的值的函数。
    • 17.编写求数组中元素最大值函数。
    • 18..编写函数排序数组元素
    • 19.fibonacci数列递归函数
    • 20.输入一字符串,查找字符’k’
    • 21.判断字符串是否回文
    • 22.输出所有的水仙花数(水仙花数:153= 1^3+ 5^ 3+3^3)
    • 23.输出数列2、3、5、8、…(从第三项开始,每一项为前两项的和)的前二十项,且每行显示五个数
    • 24.兀/4=1-1/3+1/5-1/7+…+(-1)^(n-1)*(1/(2n-1)),求兀
    • 25.从键盘输入一个正整数,判断该数是否为素数
    • 26.请输入m和n,求他们的最大公约数
    • 27.百元买百鸡
    • 28.从键盘输入一个整数n,求1!+2!+3!+…+n!
    • 29.输入10个学生的成绩,求平均分、最高分和最低分
    • 30.求Fibonacci数列的前30个数,将其保存在数组中,并按每行6个数输出(Fibonacci:0,1,1,2,3,5,8,13,21,34,…)
    • 31.输入一个字符串,求该字符串的长度(例如:”VC”的长度为2)
    • 32.从键盘输入一个字符串到字符数组a中,将其中的大写字母复制到另一个字符数组b中
    • 33.用递归法求n!
    • 34.编写一个将字符数组中所有小写字母转换成大写字母的函数,并在main()函数中调用该函数
    • 35.输入一行字符,统计其中字母,数字,空格及其他字符的个数
    • 36.求x和y的最大值
    • 37.编写实现两个整数交换的自定义函数swap(),要求形参采用指针变量,在main()函数中输入两个整数,调用swap()函数后输出结果
    • 38.编写求数组所有元素的平均值的自定义函数,在main()函数中输入学生人数和每个学生的成绩,调用自定义函数后输出平均分
    • 39.求1+2+3+…+100的和
    • 40.编程找出1000以内的所有完数(一个数如果恰好等于它的因子之和,这个数就称为“完数” 例如6=1+2+3)

1.计算三角形面积

#include#includedouble area(double a,double b,double c){double s,sarea=-1;if(a+b>c&&b+c>a&&c+a>b){        s=(a+b+c)/2;        sarea=sqrt(s*(s-a)*(s-b)*(s-c));}return sarea;}void main(){double a,b,c,sarea;printf("请输入三个数:");scanf("%lf%lf%lf",&a,&b,&c);sarea=area(a,b,c);if(sarea>0)printf("可以构成三角形,其面积为:%.2lf\n",sarea);elseprintf("不可以构成三角形\n");}

2.分段函数计算,输入一个x值,计算并输出y值。

#include void main(){    int x,y;    scanf("%d",&x);    if(x>-5 && x<0)  y=x-1;    else if(x==0)  y=x;    else if(x>0 && x<8)  y=x+1;    else y=10;    printf("y=%d\n",y);}

3.求e=1+1/1!+1/2!+1/3!+………+1/n!

#include void main (){int i=1;double s=1,e=1;while(1/s>=1E-5){s=s*i;e=e+1/s;i++;}printf("e=%lf\n",e);}

4.最小公倍数

#include void main (){int m,n,i;printf("请输入两个正整数: ");scanf("%d%d",&m,&n);for(i=m;;i++)if(i%m==0 && i%n==0)break;printf("%d,%d的最小公倍数为%d\n",m,n,i);}

5.求最高分

#include void main(){    int cj,max=0;    printf("输入成绩,以负数结束: ");    scanf ("%d",&cj);    while(cj>=0)    {   if(cj>max)   max=cj;         scanf ("%d",&cj);    }    printf("最高分:%d\n",max);}

6.求数列和

#include void main(){int a,b,t,i,n;double sum=0.0;printf("请输入n:");scanf("%d",&n);a=2,b=1;for (i=1;i<=n;i++){sum=sum+(double)a/b;t=a;  a=a+b;  b=t;}printf("sum=%f\n",sum);}

7.输出平均分和低于平均分学生成绩

#include void main(){int a[100],i,n,score;float sum,ave;i=0,sum=0;while(1){printf("请输入第%d个学生成绩: ",i+1);scanf("%d",&score);if(score<0)  break;a[i]=score;     sum+=a[i];i++;}n=i;ave=sum/n;printf("平均分为: %.2f\n",ave);printf("低于平均分的成绩有: ");for(i=0;i<n;i++)if(a[i]<ave) printf("%d  ",a[i]);printf("\n");}

8.从键盘输入一字符串,将其逆序输出。

#include #includevoid main(){ char a[20];int i;printf("请输入字符串:");gets(a);for(i=strlen(a)-1;i>=0;i--)printf("%c",a[i]);printf("\n");}

9.字符串连接

#includevoid main(){ char s1[80],s2[40];int i,j;printf("请输入第1个字符串:");gets(s1);printf("请输入第2个字符串:");gets(s2);i=0;while(s1[i]!='\0')i++;j=0;while(s2[j]!='\0')    s1[i++]=s2[j++];    s1[i]='\0';printf(" 连接后的字符串为:%s\n",s1);}

10.字符串复制

#include void main(){ char s1[80],s2[80];int i;printf("请输入一个字符串:");gets(s2);for(i=0;s2[i]!='\0';i++)s1[i]=s2[i]; s1[i]='\0';printf("复制后的字符串为:%s\n",s1);}

11.编写函数,求1+2+3+…….+m。

#includeint sum(int m){int i,sumn=0;     for(i=1;i<=m;i++)   sumn=sumn+i;    return sumn;}void main(){int m;int sumn;printf("请输入一个整数:");scanf("%d",&m);sumn=sum(m);printf("1+2+3+...+%d=%d\n",m,sumn);}

12.用函数计算分段函数的值

#includedouble fd(double x){double y;if(x<0)y=x*x-2*x+1;elsey=x*x*x+x+3;return y;}void main(){double x,y;scanf("%lf",&x);y=fd(x);printf("y=%.2lf\n",y);}

13.编写函数,求3个整数最小值。

#includevoid main(){   int min(int,int,int);    int a,b,c,d,e,m1,m2;    printf("请输入5个整数: ");    scanf("%d%d%d%d%d",&a,&b,&c,&d,&e);    m1=min(a,b,c);    m2=min(m1,d,e);    printf("最小值为: %d\n",m2);}int min(int x,int y,int z){   int m=x;       if(m>y)  m=y;    if(m>z)  m=z;    return m;}

14.编写判断素数函数

#include#includevoid main(){   int prime(int m);    int m,i;i=0;    for(m=2;m<=100;m++)   if(prime(m))  {printf("%5d",m);i++;if(i%5==0) printf("\n");}printf("\n");}int prime(int m){   int k,n;    n=(int)sqrt(m);    for(k=2;k<=n;k++)        if(m%k==0) return 0;    return 1;}

15.编写求最大公约和最小公倍函数

#includeint gy(int x,int y){int gyxy,i;for(i=x;i>=1;i--)       if(x%i==0&&y%i==0)   {gyxy=i;break;}     return gyxy;}int gb(int x,int y){int gbxy,i;for(i=x;i<=x*y;i++)       if(i%x==0&&i%y==0)   {gbxy=i;break;}     return gbxy;}void main(){int x,y,gyxy,gbxy;printf("请输入两个整数:");scanf("%d%d",&x,&y);gyxy=gy(x,y);gbxy=gb(x,y);printf("%d和%d的最大公约数是:%d\n",x,y,gyxy);printf("%d和%d的最小公倍数是:%d\n",x,y,gbxy);}

16.编写求n个a的值的函数。

#includeint f(int a,int n){   int i,t=0;    for(i=1;i<=n;i++)        t=t*10+a;    return t;}void main(){   int a,n,i,s=0;    printf("请输入两个整数a,n: ");    scanf("%d%d",&a,&n);    for(i=1;i<=n;i++)        s=s+f(a,i);    printf("结果为: %d\n",s);}

17.编写求数组中元素最大值函数。

#include#define N 6int max(int a[]){   int i,m;    m=a[0];    for(i=1;i<N;i++)        if(m<a[i])  m=a[i];    return m;}void main(){   int i,b[N];    printf("请输入%d个整数: ",N);    for(i=0;i<N;i++)        scanf("%d",&b[i]);    printf("最大数为: %d\n",max(b));}

18…编写函数排序数组元素

//(1)顺序比较法#includevoid sort(int str[],int n){   int i,j;     int t;    for(i=0;i<n-1;i++)        for(j=i+1;j<n;j++)            if(str[i]>str[j])            { t=str[i]; str[i]=str[j]; str[j]=t; }}void main(){   int i,n,str[100];        printf("请输入元素个数: ");    scanf("%d",&n);    printf("请输入%d个元素: ",n);    for(i=0;i<n;i++)        scanf("%d",&str[i]);    sort(str,n);    printf("排序结果为:");    for(i=0;i<n;i++)        printf("%d  ",str[i]);    printf("\n");}
//(2)冒泡排序法#includevoid sort(int a[],int n){   int i,j,t;     for(i=0;i<n-1;i++)        for(j=0;j<n-1-i;j++)            if(a[j]>a[j+1])            { t=a[j]; a[j]=a[j+1]; a[j+1]=t; }}void main(){   int i,n,a[100];    //最多100个元素    printf("请输入元素个数: ");    scanf("%d",&n);    printf("请输入%d个元素: ",n);    for(i=0;i<n;i++)        scanf("%d",&a[i]);    sort(a,n);    printf("排序结果为:");    for(i=0;i<n;i++)        printf("%d  ",a[i]);    printf("\n");}

19.fibonacci数列递归函数

#includeint fib(int k){   int f;    if(k==1) f=0;    else if(k==2) f=1;    else f=fib(k-1)+fib(k-2);    return f;}void main(){   int i,n;    printf("请输入项数: ");    scanf("%d",&n);    printf("前%d项fibonacci数列为:",n);    for(i=1;i<=n;i++)        printf("%d  ",fib(i));    printf("\n");}

20.输入一字符串,查找字符’k’

#includevoid main(){   char a[100],*p=a;    int flag=0;    printf("请输入一个字符串: ");    gets(a);    while(*p!='\0')    {    if(*p=='k')         {  flag=1;  break;  }         p++;    }    if(flag==1)  printf("已找到!\n");    else printf("没找到\n");   }

21.判断字符串是否回文

#include#includevoid main(){   int hw(char *s);    char s[80];    printf("请输入一个字符串: ");      gets(s);    if(hw(s))  printf("该字符串是回文!\n");    else  printf("该字符串不是回文!\n");   } int hw(char *s){   int flag=1;    char *p,*q;    for( p=s,q=s+strlen(s)-1 ; p<q ; p++,q-- )         if(*p!=*q) {  flag=0;  break;  }    return flag;}

22.输出所有的水仙花数(水仙花数:153= 1^3+ 5^ 3+3^3)

#include int main(){    int i,j,k,n;    for(i = 100;i < 1000;i++)    {        j = i%10;        k = i/10%10;        n = i/100;        if(j*j*j + k*k*k + n*n*n == i)            printf("%5d\n",i);    }    return 0;} 

23.输出数列2、3、5、8、…(从第三项开始,每一项为前两项的和)的前二十项,且每行显示五个数

#include void main(){ int i,a1=2,a2=3,a3;  printf("%6d%6d%6d",a1,a2);  for(i=3;i<=20;i++)  { a3=a1+a2;  printf("%6d",a3);  a1=a2;  a2=a3;  if(i%5==0)    printf("\n");   }}

24.兀/4=1-1/3+1/5-1/7+…+(-1)^(n-1)*(1/(2n-1)),求兀

#include #include void main(){ double sum=0,pi,c=1,s=1;//c为当前项,s为符号位  int n=1;  while(fabs(c)>=1e-6)  { sum=sum+c;  s=-s;  n++;  c=s/(2*n-1);  }  pi=4*sum;  printf("pi=%lf\n",pi);}

25.从键盘输入一个正整数,判断该数是否为素数

#include void main(){ int i,m;  scanf("%d",&m);  for(i=2;i<=m-1;i++)    if(m%i==0) break;    if(i>m-1)      printf("%d是素数\n",m);    else      printf("%d不是素数\n",m);}

26.请输入m和n,求他们的最大公约数

#include void main(){ int i,m,n;  scanf("%d%d",&m,&n);  for(i=m;i>=1;i--)  { if(m%i==0 && n%i==0)       break;  } printf("最大公约数:%d\n",i);} 

27.百元买百鸡

#include void main(){ int a,b,c; //a,b,c分别表示公鸡、母鸡和小鸡的数量for(a=0;a<=19;a++)  for(b=0;b<=33;b++)  {  c=100-a-b;  if(5*a+3*b+b/3==100 && c%3==0)    printf("公鸡:%d,母鸡:%d,小鸡:%d\n",a,b,c);  }}

28.从键盘输入一个整数n,求1!+2!+3!+…+n!

#include void main(){ int i,j,n;  long p,sum=0;  scanf("%d",&n);  for(i=1;i<=n;i++)  {    p=1;    for(j=1;j<=i;j++)      p=p*j;    sum=sum+p;   }   printf("计算结果为:%d\n",sum); }

29.输入10个学生的成绩,求平均分、最高分和最低分

#include void main(){ int i,sum=0,max=0,min=100,c[10];  float ave;  for(i=0;i<10;i++)  {    scanf("%d",&c[i]);   sum=sum+c[i];   if(c[i]>max)     max=c[i];     if(c[i]<min)       min=c[i];   }  ave=(float)sum/10;  printf("平均分为:%f,最高分为:%d,最低分为:%d\n",ave,max,min);}  

30.求Fibonacci数列的前30个数,将其保存在数组中,并按每行6个数输出(Fibonacci:0,1,1,2,3,5,8,13,21,34,…)

#include void main(){ int i;  long f[30]={0,1};  for(i=2;i<30;i++)    f[i]=f[i-1]+f[i-2];  for(i=0;i<30;i++)  {  if(i%6==0)    printf("\n");  printf("%10d",f[i]);  }}

31.输入一个字符串,求该字符串的长度(例如:”VC”的长度为2)

#include void main(){ char a[20];  int i=0;  scanf("%s",a);  while(a[i]!='\0')     i++;  printf("%s的长度为:%d\n",a,i);}

32.从键盘输入一个字符串到字符数组a中,将其中的大写字母复制到另一个字符数组b中

#include void main(){ char a[20],b[20];  int i=0,j=0;//i和j分别为数组a和b的下标  gets(a);  while(a[i]!='\0')  {     if(a[i]>='A' && a[i]<='Z')    {      b[j]=a[i];      j++;    }    i++;   }   b[j]='\0';   puts(b);}  

33.用递归法求n!

#include int fac(int n){ int f;  if(n==1)  f=1;  else  f=n*fac(n-1);  return f;}void main(){  int n,c;  printf("请输入n的值:");  scanf("%d",&n);  c=fac(n);  printf("%d!=%d\n",n,c);}

34.编写一个将字符数组中所有小写字母转换成大写字母的函数,并在main()函数中调用该函数

#include void change(char b[10]){  int i=0;  while(b[i]!='\0')  {  if(b[i]>='a' && b[i]<='z')    b[i]=b[i]-32;  i++;  }}void main(){char a[10];printf("请输入一个字符串:");gets(a);change(a);printf("调用函数后数组a的值:");puts(a);}

35.输入一行字符,统计其中字母,数字,空格及其他字符的个数

#include int letter,digit,space,others;void main(){char str[1000];void count(char ch[]);printf("请输入一个字符串(<1000个字符):");gets(str);letter=0;digit=0;space=0;others=0;count(str);printf("字母:%d\n 数字:%d\n 空格:%d\n 其他:%d\n",letter,digit,space,others);  } void count(char ch[]){int i=0;while(ch[i]!='\0'){if((ch[i]>='a' && ch[i]<='z')|| (ch[i]>='A' && ch[i]<='Z'))letter++;else if(ch[i]>='0' && ch[i]<='9')digit++;else if(ch[i]==' ')space++;elseothers++;i++;}}

36.求x和y的最大值

#include void main(){  int x,y,max,*px,*py;  px=&x;  py=&y;  printf("请输入两个整数:");  scanf("%d%d",px,py);  if(*px<*py)    max=*py;  else  max=*px;  printf("max=%d\n",max);}

37.编写实现两个整数交换的自定义函数swap(),要求形参采用指针变量,在main()函数中输入两个整数,调用swap()函数后输出结果

#include void main(){int m,n;void swap(int *pm,int *pn);  printf("请输入两个整数:");scanf("%d%d",&m,&n);printf("交换前:m=%d,n=%d\n",m,n);//输出交换前两个实参的值swap(&m,&n);//调用函数printf("交换后:m=%d,n=%d\n",m,n);//输出交换后两个实参的值}void swap(int *pm,int *pn){int temp; temp=*pm;  *pm=*pn;  *pn=temp;}

38.编写求数组所有元素的平均值的自定义函数,在main()函数中输入学生人数和每个学生的成绩,调用自定义函数后输出平均分

#include void main(){float score[100],ave;int i,n;float compute(float *a,int n);printf("请输入学生人数:");scanf("%d",&n);printf("请输入学生成绩:");for(i=0;i<n;i++)scanf("%f", &score[i]);ave=compute(score,n);printf("学生平均成绩为:%5.2f\n",ave);}float compute(float *p,int n){float sum=0,ave;int i;for(i=0;i<n;i++) sum=sum+*(p+i);ave=sum/n;return ave;}

39.求1+2+3+…+100的和

#include void main(){  int sum=0,i=1;  do  {       sum=sum+i;     i=i+1;  }while(i<=100);  printf("sum=%d\n",sum);}

40.编程找出1000以内的所有完数(一个数如果恰好等于它的因子之和,这个数就称为“完数” 例如6=1+2+3)

#include main(){  static int k[10];  int i,j,n,s;  for(j=2;j<1000;j++)    {     n=-1;     s=j;     for(i=1;i<j;i++)       {if((j%i)==0)          {  n++;             s=s-i;             k[n]=i;          }       }  if(s==0)   {printf("%d是一个完数:  ",j);    for(i=0;i<n;i++)        printf("%d,",k[i]);    printf("%d\n",k[n]);   }}}

有错误的欢迎大家在评论区批评指正
以上这些仅供大家参考,建议大家不要照搬照抄,这对提升自己的编程能力没有任何的作用,最主要的是去理解、明白为什么这么写。