m0_74190831 2022-12-09 16:43 采纳率: 100%
浏览 118
已结题

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

这里都跑不出来有人来解答一下吗?
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进行排序,并在主函数中输出最终的排序结果。

  • 写回答

3条回答 默认 最新

  • yy64ll826 2022-12-09 17:05
    关注

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

    
    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的循环就是实现多轮操作,即第一轮比较结束后进行第二轮,一直重复到第九轮*/
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 12月10日
  • 已采纳回答 12月9日
  • 修改了问题 12月9日
  • 修改了问题 12月9日
  • 展开全部

悬赏问题

  • ¥15 永磁直线电机的电流环pi调不出来
  • ¥15 用stata实现聚类的代码
  • ¥15 请问paddlehub能支持移动端开发吗?在Android studio上该如何部署?
  • ¥20 docker里部署springboot项目,访问不到扬声器
  • ¥15 netty整合springboot之后自动重连失效
  • ¥15 悬赏!微信开发者工具报错,求帮改
  • ¥20 wireshark抓不到vlan
  • ¥20 关于#stm32#的问题:需要指导自动酸碱滴定仪的原理图程序代码及仿真
  • ¥20 设计一款异域新娘的视频相亲软件需要哪些技术支持
  • ¥15 stata安慰剂检验作图但是真实值不出现在图上