熬夜到头秃。 2022-08-06 15:00 采纳率: 100%
浏览 23
已结题

这个ns流程图,第二步,选择结构怎么办呀

第二步书名为字符串,如何输入到数组里边去,进而
实现逆序输出。

img

  • 写回答

1条回答 默认 最新

  • a5156520 2022-08-06 16:52
    关注

    教材要先定义一个结构,然后定存放5门教程数据的结构数组,再把书名存入到结构数组元素的书名成员变量里,最后打印结果时,如果需要打印每门教材的总价可以加上去,图片里第二个for循环那里有个: j<n-i 那个n是多少,为了避免数组越界,我把n改为了4.代码如下,供参考:

    #include <stdio.h>
    #include <string.h>
    
    struct book{
        char name[20];  //教材书名 
        int ct;  //教材册数 
        double price;  //教程单价 
        double allMoney;  //教程总价 
    };
    
    
    int main(void){
        
        book bk [5];
        
        int i,j;
        
        //获取5门教材数据到教材结构数组 
        for(i=0;i<5;i++){
            printf("请输入%d门教材的书名、册数、单价:",i+1);
            scanf("%s%d%lf",bk[i].name,&bk[i].ct,&bk[i].price);
            bk[i].allMoney = bk[i].ct*bk[i].price;
        }
        
        char temp[20];
        int tct;
        double tprice;
        
        //按册数降序排序教程结构数组元素 
        for(i=0;i<4;i++){
            
            for(j=0;j<4-i;j++){
                
                if(bk[j].ct<bk[j+1].ct){
                    
                    strcpy(temp,bk[j].name);
                    strcpy(bk[j].name,bk[j+1].name);
                    strcpy(bk[j+1].name,temp);
                    
                    tct = bk[j].ct;
                    bk[j].ct = bk[j+1].ct;
                    bk[j+1].ct = tct;
                    
                    tprice = bk[j].price;
                    bk[j].price = bk[j+1].price;
                    bk[j+1].price = tprice;
                    
                    tprice = bk[j].allMoney;
                    bk[j].allMoney = bk[j+1].allMoney;
                    bk[j+1].allMoney = tprice;
                    
                    
                    
                }
            }
        }
        
        //打印结构 
        for(i=0;i<5;i++){
            printf("%s %d %lf\n",bk[i].name,bk[i].ct,bk[i].price);
        }
        
        
        return 0; 
    } 
    

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 8月16日
  • 已采纳回答 8月8日
  • 创建了问题 8月6日

悬赏问题

  • ¥20 西门子S7-Graph,S7-300,梯形图
  • ¥50 用易语言http 访问不了网页
  • ¥50 safari浏览器fetch提交数据后数据丢失问题
  • ¥15 matlab不知道怎么改,求解答!!
  • ¥15 永磁直线电机的电流环pi调不出来
  • ¥15 用stata实现聚类的代码
  • ¥15 请问paddlehub能支持移动端开发吗?在Android studio上该如何部署?
  • ¥20 docker里部署springboot项目,访问不到扬声器
  • ¥15 netty整合springboot之后自动重连失效
  • ¥15 悬赏!微信开发者工具报错,求帮改