问题13:
编程解决如下问题:鸡翁一,值钱五;鸡母一,值钱三;鸡雏三,值钱一。百钱买百鸡, 问鸡翁,鸡母,鸡雏各几何?(20分)
问题14:
编程实现:有二维数组a[3][3]={{1.3,2.7,3.6},{2,3,4.7},{3,4,1.27}},将数组a的每一行元素均除以该行上绝对值最大的元素,按行输出新数组。(20分)
问题15:
编程:设x、y取值为区间[1,10]的整数, f(x,y)=(3x-2y)/(x+y),求使f(x,y)取最小值的x1、y1,要求使用自定义函数实现f(x,y)功能。(20分)
问题16:
编写函数fun,其功能是:在字符串中所有数字字符前加一个“*”字符,要求通过指针实现。(20分)
问题17:
编程:已知学生记录由学号和学习成绩构成,N名学生的记录已存入结构体数组中,找出成绩最低的学生,并输出这个学生的信息,已知学生信息如下。(20分)
A01,81;A02,89;A03,66;A04,87;A05,77
A06,90;A07,79;A08,61;A09,80;A10,71
问题13实现代码:
/* author:宋金时 */ /* date:2011/11/02 */ #include "Stdio.h" #include "Conio.h" #define TOTAL 100 #define GONG 5 #define MU 3 #define XIAO 1/3 int main(void) { /* 此处添加你自己的代码 */ int m_i,m_j,m_k; puts("GONG MU XIAO"); for(m_i=1;m_i<TOTAL;m_i++) { for(m_j=1;m_j<TOTAL;m_j++) { for(m_k=1;m_k<TOTAL;m_k++) { if(((m_i+m_j+m_k)==100)&&((m_i*GONG+m_j*MU+m_k*XIAO)==100)) printf("%d %d %d\n",m_i,m_j,m_k); } } } getch(); return 0; }
问题14实现代码:
/* author:宋金时 */ /* date:2011/11/02 */ #include "Stdio.h" #include "Conio.h" #include "math.h" int main(void) { /* 此处添加你自己的代码 */ float arr_num[3][3]={{1.3,2.7,3.6},{2,3,4.7},{3,4,1.27}}; int m_i,m_j,abs_max; for(m_i=0;m_i<3;m_i++) { abs_max = 0; for(m_j=0;m_j<3;m_j++) { if(fabs(arr_num[m_i][m_j])>fabs(arr_num[m_i][abs_max])) abs_max = m_j; } for(m_j=0;m_j<3;m_j++) { arr_num[m_i][m_j]/=arr_num[m_i][abs_max]; printf("%f ",arr_num[m_i][m_j]); } printf("\n"); } getch(); return 0; }
问题15实现代码:
/* author:宋金时 */ /* date:2011/11/02 */ #include "Stdio.h" #include "Conio.h" double f(int x,int y); int main(void) { double m_min; int m_i,m_j,m_x,m_y; m_min = f(1,1); for(m_i=0;m_i<10;m_i++) { for(m_j=0;m_j<10;m_j++) { if(m_min>f(m_i+1,m_j+1)) { m_min = f(m_i+1,m_j+1); m_x = m_i+1; m_y = m_j+1; } } } printf("x=%d y=%d\n",m_x,m_y); getch(); return 0; } double f(int x , int y) { return ((double)(3*x-2*y)/(double)(x+y)); }
问题16实现代码:
/* anthor:宋金时 */ /* date:2011/11/01 */ #include "Stdio.h" #include "Conio.h" #define N 20 int main(void) { /* 此处添加你自己的代码 */ char str[N],*s_p,*temp_p,*s_new; puts("please input a string:"); gets(str); s_p = str; while(*s_p!='\0') { if((*s_p>='0')&&(*s_p<='9')) { s_new = (char*)malloc(strlen(s_p)+1); strcpy(s_new,s_p); *s_p='\0'; strcat(str,"*"); s_p++; strcat(str,s_new); free(s_new); s_new = NULL; } s_p++; } puts(str); getch(); return 0; }
问题17实现代码:
/* author:宋金时 */ /* date:2011/11/02 */ #include "Stdio.h" #include "Conio.h" #define N 10 typedef struct student { char num[20]; int score; }stu; int main(void) { /* 此处添加你自己的代码 */ stu arr_stu[N]={{"A01",81},{"A02",89},{"A03",66},\ {"A04",87},{"A05",77},{"A06",90},{"A07",79},{"A08",61},\ {"A09",80},{"A10",71}}; int m_i,m_pos=0; for(m_i=0;m_i<N;m_i++) { if(arr_stu[m_i].score<arr_stu[m_pos].score) { m_pos = m_i; } } puts("number score"); printf("%s %d\n",arr_stu[m_pos].num,arr_stu[m_pos].score); getch(); return 0; }