c primer plus第十二章编程练习答案(纯手打欢迎指错)
2014-10-05 12:13
381 查看
12.1
12.5
12.6
12.7
12.8
#include<stdio.h> int critic(int n); int main(void) { int units; printf("How many pounds to a firkin of butter?\n"); scanf("%d",&units); while(units!=56) units=critic(units); printf("You must have looked it up!\n"); return 0; } int critic(int n) { printf("No luck,chummy.Try again.\n"); scanf("%d",&n); return n; }12.2
#include<stdio.h> //第一个文件 #include"pe12-2a.c" int main(void) { int mode; printf("Enter 0 for metric mode,1 for US mode:"); scanf("%d",&mode); while(mode>=0) { set_mode(mode); get_info(); show_info(); printf("Enter 0 for metric mode,1 for US mode:"); printf("(-1 to quit):"); scanf("%d",&mode); } printf("Done!\n"); return 0; }
#include<stdio.h>//第二个文件 #include"pe12-2a.h" static double distance; static double fuel; static int type; void set_mode(int n) { if(n==1||n==0) type=n; else { type=1; printf("Invalid mode specified.Mode1(US)used.\n"); } } ///////////////////////////////////////// void get_info(void) { if(type==0) { printf("Enter distance traveled in kilometers:"); scanf("%lf",&distance); printf("Enter fuel consumed in liters:"); scanf("%lf",&fuel); } if(type==1) { printf("Enter distance traveled in miles:"); scanf("%lf",&distance); printf("Enter fuel consumed in gallons:"); scanf("%lf",&fuel); } } ///////////////////////////////////////////// void show_info(void) { if(type==0) printf("Fuel consumpation is %.2lf liters per 100km.\n ",fuel/distance*100); if(type==1) printf("Fuel consumpation is %.2lf per gallon.\n",distance/fuel); }
void set_mode(int n);//第三个是头文件。 void get_info(void); void show_info(void);12.3
#include<stdio.h> //1 #include"pe12-2a.c" int main(void) { int mode; printf("Enter 0 for metric mode,1 for US mode:"); scanf("%d",&mode); while(mode>=0) { show_info(get_info(set_mode(mode),mode),set_mode(mode)); printf("Enter 0 for metric mode,1 for US mode:"); printf("(-1 to quit):"); scanf("%d",&mode); } printf("Done!\n"); return 0; }
#include<stdio.h>//2 #include"pe12-2a.h" int set_mode(int n) { int type; if(n==1||n==0) type=n; else type=1; return type; } ///////////////////////////////////////// double get_info(int n,int m) { double distance; double fuel; if(m!=0&&m!=1) printf("Invalid mode specified.Mode1(US)used.\n"); if(n==0) { printf("Enter distance traveled in kilometers:"); scanf("%lf",&distance); printf("Enter fuel consumed in liters:"); scanf("%lf",&fuel); return fuel/distance*100; } if(n==1) { printf("Enter distance traveled in miles:"); scanf("%lf",&distance); printf("Enter fuel consumed in gallons:"); scanf("%lf",&fuel); return distance/fuel; } printf("Invalid mode specified.Mode1(US)used.\n"); } ///////////////////////////////////////////// void show_info(double ans,int type) { if(type==0) printf("Fuel consumpation is %.2lf liters per 100km.\n ",ans); if(type==1) printf("Fuel consumpation is %.2lf per gallon.\n",ans); }
int set_mode(int n);//3 double get_info(int n,int m); void show_info(double ans,int type);12.4
#include<stdio.h>//不知道题意是不是这样啊 static int count=0; int count_f(); int main(void) { int n; count_f(); count_f(); count_f(); count_f(); count_f(); n=count_f(); printf("%d",n); } int count_f() { count++; return count; }
12.5
#include<stdio.h> #include<time.h> #include<stdlib.h> int main(void) { srand(time(0)); int num[100]; int number; int i; for(i=0;i<100;i++) { number=rand()%10+1; num[i]=number; printf("%d\n",num[i]); } int j,temp; for(i=0;i<100;i++) for(j=i+1;j<100;j++) if(num[i]<num[j]) { temp=num[i]; num[i]=num[j]; num[j]=temp; } for(i=0;i<100;i++) printf("%5d",num[i]); }
12.6
#include<stdio.h> #include<time.h> #include<stdlib.h> int main(void) { srand(time(0)); int num[1000]; int number; int i; int one=0,two=0,three=0,four=0,five=0,six=0,seven=0,eight=0,nine=0,ten=0; for(i=0;i<1000;i++) { number=rand()%10+1; num[i]=number; switch(number) { case 1:one++; break; case 2:two++; break; case 3:three++; break; case 4:four++; break; case 5:five++; break; case 6:six++; break; case 7:seven++; break; case 8:eight++; break; case 9:nine++; break; case 10:ten++; break; } } printf("1=%-6d2=%-6d3=%-6d4=%-6d5=%-6d6=%-6d7=%-6d8=%-6d9=%-6d10=%-6d\n",one,two,three,four,five,six,seven,eight,nine,ten); }
12.7
#include<stdio.h> #include<time.h> #include<stdlib.h> int rollem(int sides); int roll_n_dice(int dice,int sides); int main(void) { int sets; int dice,sides; srand(time(0)); printf("Enter the number of sets;enter q to stop."); while(scanf("%d",&sets)==1&&sets>0) { printf("How many sides and how many dice?"); scanf("%d%d",&sides,&dice); printf("Here are 18 sets of %d %d-sided throws.",dice,sides); for(int i=0;i<sets;i++) printf("%-5d",roll_n_dice(dice,sides)); printf("\nHow many sets?Enter q to stop"); } } int rollem(int sides) { int roll; roll=rand()%sides+1; return roll; } int roll_n_dice(int dice,int sides) { int d; int total=0; if(sides<2) { printf("Need at least 2 sides.\n"); return -2; } if(dice<1) { printf("Need at least 1 die.\n"); return -1; } for(d=0;d<dice;d++) total+=rollem(sides); return total; }
12.8
#include<stdio.h> int*make_array(int elem,int val); void show_array(const int ar[],int n); int main(void) { int *pa; int size; int value; printf("Enter the number of elements:"); scanf("%d",&size); while(size>0) { printf("Enter the initialization value:"); scanf("%d",&value); pa=make_array(size,value); if(pa) { show_array(pa,size); free(pa); } printf("Enter the number of elements(<1 to quit.)"); scanf("%d",&size); } printf("Done.\n"); return 0; } int*make_array(int elem,int val) { int *ar; ar=(int*)malloc(elem*sizeof(int)); for(int i=0;i<elem;i++) ar[i]=val; return ar; } void show_array(const int ar[],int n) { int count=0; for(int i=0;i<n;i++) { printf("%d ",ar[i]); count++; if(count%8==0) printf("\n"); } }
相关文章推荐
- c++ primer plus(第6版)中文版 第十二章编程练习答案
- c primer plus第十三章编程练习答案(纯手打欢迎指错)
- C ++ Primer Plus 第六版 第十二章编程练习答案
- C++ Primer Plus第六版 第十二章 编程练习答案
- C++ primer plus(sixth edition) 编程练习答案(answers for programing exercises)第六章(chapter 6) 5-9
- c++ primer plus(第6版)中文版 第七章编程练习答案
- c++ primer plus(第6版)中文版 第十一章编程练习答案
- C++ PRIMER PLUS (第六版) 中文版 第七章编程练习答案
- C++ primer plus(sixth edition) 编程练习答案(answers for programing exercises)第七章(chapter 7) 1-5
- C++ Primer Plus第六版 第三章 编程练习答案
- C++ Primer Plus第六版 第五章 编程练习答案
- C++ Primer Plus第六版 第七章 编程练习答案
- C++ primer plus(sixth edition) 编程练习答案(answers for programing exercises)第六章(chapter 6) 1-4
- C++ primer plus(sixth edition) 编程练习答案(answers for programing exercises)第五章(chapter 5) 6-10
- c++ primer plus 第六版第二章编程练习答案
- c++ primer plus(第6版)中文版 第三章编程练习答案
- c++ primer plus(第6版)中文版 第六章编程练习答案
- c++ primer plus(第6版)中文版 第八章编程练习答案
- c++ primer plus(第6版)中文版 第四章编程练习答案
- c primer plus第十章编程练习答案(纯手写欢迎指错)