请教一下这几个代码,有注释最好,阿里各多

这里都跑不出来有人来解答一下吗?
1.编写一个函数,实现显示输出数组a[n](double a[10]={1,2,3,4,5,6,7,8,9,10})中大于等于平均值的所有元素值,函数原型为void f2(double a[], int n),其中n为数组元素个数。

2.数组a包括10个整数(a[10]={14,32,31,43,53,46,37,18,69,16}),把a中所有的后项除以前项之商取整后存入数组b,并按每行3个元素的格式输出数组,

4.输入三角形的三条边(20,30,40或11、21、31或50、70、90)存入数组a中,判断其能否构成三角形,如果可以,则判断出三角形的种类:等腰三角形、等边三角形或一般三角形。输出格式如样张所示。

提示:输出分四种情况:"等边三角形\n";"等腰三角形\n";"一般三角形\n";"不能构成三角形\n"。
5.利用指针作函数参数,设计一函数fun()实现求字符串”a0b1c2d3f4g5h6j1k3l8n\0f8s9s7”的长度。

6.编写程序,设置一个排序函数paixu(),该函数将数组按照从小到大的顺序进行排序,其中有两个形式参数,一个为指向数组的指针p,另一个为数组的元素个数n。在主函数中,要求从键盘输入10个数(0,8,6,4,2,1,3,5,7,9)存入数组data中,同时要求调用函数paixu()对data进行排序,并在主函数中输出最终的排序结果。

兄弟,我随便写几个,你看着给,喜喜


4 #include<stdio.h>
#include<stdlib.h>
#include<math.h>
int main(int *argc, char *argv[])
{
int x, y, z = 0;
printf("请输入三角形的三条边:\n");
scanf_s("%d %d %d", &x, &y, &z);
if (x+y>z&x+z>y&&y+z>x)
{
if (x==y&&y==z)
{
printf("此三角形是等边三角形也是等腰三角形!!\n");
}
if (x == y || y == z || x == z)
{
printf("此三角形是等腰三角形!!\n");
}
else {
printf("此三角形是不规则三角形!!\n");
}
}
else {
printf("此三角形不是三角形!!\n");
}
return 0;
}
5 #include <stdio.h>

int main()
{
    int length(char* p);
    int len;
    char str[20];
    puts("input string:\t");
    scanf("%s",str);//这里str是字符串指针,不是漏加了 &
    len = length(str);
    printf("The length of string is %d.\n",len);
    return 0;    
}

int length(char* p)//字符串指针
{
    int n;
    n = 0;
    while (*p != '\0')
    {
        n++;
        p++;
    }
    return n;
}

6 #include<stdio.h>
int main()
{
    int a[10],i,s,medium;/*定义一个数组及变量,数组元素共10个*/
    for(i=0;i<10;i++)
        {
            printf("input a[i] when i=%d\n",i);
            scanf("%d",&a[i]);/*依次输入a[0]至a[9]的值*/
          }
    for(i=0;i<10;i++)
        printf("%d ",a[i]);/*打印数组*/
    printf("%c",'\n');
    for(i=0;i<10;i++)
        {
            for(s=0;s<9-i;s++)
            {
                if(a[s]>=a[s+1])
                {
                    medium=a[s];/*medium是交换媒介*/
                    a[s]=a[s+1];
                    a[s+1]=medium;
                    }/*if语句实现大数右移的功能*/
             }/*s的循环语句与if语句结合实现上文中所说的每一轮操作中将最大数移动至最右方*/
                  printf("%d ",a[9-i]);/*每一轮比较后输出本轮中最大的数,事实上就是排序,a[9-i]就是每轮中最大的数*/
        }/*i的循环就是实现多轮操作,即第一轮比较结束后进行第二轮,一直重复到第九轮*/
}

这题也太多了......再加点悬赏吧......

第一个和第二个有无兄弟解答一下,有打赏