C Primer Plus 第十二章 编程练习 1-8题

    xiaoxiao2021-03-25  111

    第1题 #include<stdio.h> int critic(void); int main(void) { int realResult; printf("Please Try To Input Any INteger:\n"); scanf("%d",&realResult); while(realResult != 56) realResult = critic(); printf("You Are Right.\n"); return 0; } int critic(void) { int r; printf("Unlcuk,Tyr Again.\n"); scanf("%d",&r); return r; } 第2题 Mode.h #ifndef MODE_H__ #define MODE_H__ double Lenght = 0; double Gas = 0; int Mode = 0; #endif 12-2.c #include<stdio.h> #include<stdbool.h> #include"Mode.h" void SetMode(int m); void GetInfo(); void ShowInfo(); int main(void) { while(true) { printf("Please Input The Mode(EU/US)"); if(scanf("%d",&Mode) != 1) break; SetMode(Mode); GetInfo(); ShowInfo(); } return 0; } void SetMode(int m) { Mode = m; } void GetInfo() { printf("Please Input The Lenght:"); scanf("%lf",&Lenght); printf("Please Input The Gas That Had Cost:"); scanf("%lf",&Gas); } void ShowInfo() { if(Mode == 0) printf("EU : %.2lf",Gas/Lenght); if(Mode == 1) printf("US : %.2lf",Lenght/Gas); } 第4题 #include<stdio.h> const int times = 10; int showTime(void); int main(void) { int ts; for(int i = 0 ; i < times ; ++i) ts = showTime(); printf("We Take Thie Funtion %d. \n",ts); return 0; } int showTime(void) { static int t = 0; return ++t; } 第5题 myRand.h #ifndef MYRAND_H__ #define MYRAND_H__ long int myRand(void); void mySeed(long int newSeed); #endif myRand.c #include"myRand.h" static long int seed = 1; long int myRand(void) { seed = 123 + seed*3; return (unsigned int)seed0; } void mySeed(long int newSeed) { seed = newSeed; } 12-5.c #include<stdio.h> #include<time.h> #include"myRand.h" const int nu = 100; int main(void) { mySeed((unsigned int)time(0)); //create a seed by time int rands[nu]; for(int i = 0 ; i < nu ; ++i) rands[i] = myRand(); for(int i = 0 ; i < nu ; ++i) //sort { for(int j = i ; j < nu ; ++j) { int mid = rands[i]; if(mid > rands[j]) { rands[i] = rands[j]; rands[j] = mid; } } } for(int i = 0 ; i < nu ; ++i) //input { printf("M",rands[i]); if((i+1) == 0) printf("\n"); } return 0; } 第6题 #include<time.h> #include<stdlib.h> #include<stdio.h> const int nu = 1000; int main(void) { srand((unsigned int)time(0)); //create seed; int Tens[10] = {0,0,0,0,0,0,0,0,0,0}; for(int i = 0 ; i < nu ; ++i) { int mid = rand() + 1; switch(mid) { case 1:Tens[mid-1] += 1; break; case 2:Tens[mid-1] += 1; break; case 3:Tens[mid-1] += 1; break; case 4:Tens[mid-1] += 1; break; case 5:Tens[mid-1] += 1; break; case 6:Tens[mid-1] += 1; break; case 7:Tens[mid-1] += 1; break; case 8:Tens[mid-1] += 1; break; case 9:Tens[mid-1] += 1; break; case 10:Tens[mid-1] += 1; break; } } for(int i = 0 ; i < 10 ; ++i) printf("= : =\n",i+1,Tens[i]); return 0; } 第8题 #include<stdio.h> #include<stdlib.h> int* make_array(int ele , int val); void show_array(const int* ar , int Len); int main(void) { int* pa; int size; int val; printf("Enter The number of element:"); scanf("%d",&size); while(size>0) { printf("Enter the value."); scanf("%d",&val); pa = make_array(size,val); if(pa) { show_array(pa,size); free(pa); } printf("Enter The number of element:"); scanf("%d",&size); } printf("Done\n"); return 0; } int* make_array(int ele , int val) { int* pt = (int*)malloc(sizeof(int)*ele); for(int i = 0 ; i < ele ; ++i) *(pt+i) = val; return pt; } void show_array(const int* ar , int Len) { for(int i = 0 ; i < Len ; ++i) { printf("=",*(ar+i)); if((i+1)%8 == 0) printf("\n"); } printf("\n"); }
    转载请注明原文地址: https://ju.6miu.com/read-15273.html

    最新回复(0)