精華區beta NAOE-87 關於我們 聯絡資訊
#include <stdio.h> int main () { float bar_data[20][3],bar_used[10][2]; /*bar_data[0] : size , b ar_data[1] : weight , bar_data[2] : diameter*/ /*bar_used[0] : size , bar_used[1] : length*/ float weight_item,weight=0.0,length=0.0; /*declare weight items,t otal weight,and total length*/ FILE *dataptr; /*read bar_data from bar_data.dat*/ dataptr=fopen("bar_data.dat","r"); for (int i=0;i<=11;i++) { fscanf(dataptr,"%f %f %f",&bar_data[i][0],&bar_data[i][1],&bar_d ata[i][2]); bar_data[i][2]*=2.54; /*convert in. to cm.*/ bar_data[i][1]=bar_data[i][1]*0.454/12.0/2.54*100.0; /*conver t lb./ft. to kg/m*/ } fclose(dataptr); FILE *usedptr; /*read bar_used from bar_used.dat*/ usedptr=fopen("bar_used.dat","r"); for (int j=0;j<=3;j++) { fscanf(usedptr,"%f %f",&bar_used[j][0],&bar_used[j][1]); bar_used[j][1]=bar_used[j][1]*12.0*2.54/100.0; /*conver t ft. to m*/ } fclose(usedptr); printf("---------------------------------------------------\n"); printf("Size\tDiameter(cm)\tLength(m)\tWeight(kg)\n"); printf("---------------------------------------------------\n"); for (int m=0;m<=3;m++) /*find the wanted sizes and calculate we ight and output*/ for (int k=0;k<=11;k++) if (bar_used[m][0]==bar_data[k][0]) /*compare the sizes*/ { weight_item=(bar_data[k][1])*(bar_used[m][1]); weight+=weight_item; length+=bar_used[m][1]; printf("%2.0f\t\t\b\b\b\b%4.3f\t%5.1f\t\t%6.1f\n ",bar_used[m][0],bar_data[k][2],bar_used[m][1],weight_item); } printf("Total\t\t\t%5.1f\t\t%7.1f\n",length,weight); printf("---------------------------------------------------\n"); return 0; } -- 給我記著! I'm a member of CKEISC 16th | National Taiwan University Department of Networking | Department of Naval Architecture | and Ocean Engineering twwang@ck.tp.edu.tw | twwang@linux.na.ntu.edu.tw -- ※ 發信站: 批踢踢實業坊(ptt.twbbs.org) ◆ From: IP028.dialup.nt