(4)巩固一下C语言基础知识,谁动手,谁收获

来源:互联网 发布:台湾自由行 知乎 编辑:程序博客网 时间:2024/05/18 16:40

问题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实现代码:

view plainprint?
  1. /* author:宋金时 */  
  2. /* date:2011/11/02 */  
  3.   
  4. #include "Stdio.h"  
  5. #include "Conio.h"  
  6.   
  7. #define TOTAL 100  
  8. #define GONG 5  
  9. #define MU 3  
  10. #define XIAO 1/3  
  11.   
  12. int main(void)  
  13. {  
  14.  /* 此处添加你自己的代码 */  
  15.  int m_i,m_j,m_k;  
  16.  puts("GONG MU XIAO");  
  17.  for(m_i=1;m_i<TOTAL;m_i++)  
  18.  {  
  19.     for(m_j=1;m_j<TOTAL;m_j++)  
  20.     {  
  21.         for(m_k=1;m_k<TOTAL;m_k++)  
  22.         {  
  23.             if(((m_i+m_j+m_k)==100)&&((m_i*GONG+m_j*MU+m_k*XIAO)==100))  
  24.                 printf("%d %d %d\n",m_i,m_j,m_k);  
  25.         }  
  26.     }  
  27.  }  
  28.   getch();  
  29.   return 0;  
  30. }  

问题14实现代码:
view plainprint?
  1. /* author:宋金时 */  
  2. /* date:2011/11/02 */  
  3.   
  4. #include "Stdio.h"  
  5. #include "Conio.h"  
  6. #include "math.h"  
  7.   
  8. int main(void)  
  9. {  
  10.  /* 此处添加你自己的代码 */  
  11.  float arr_num[3][3]={{1.3,2.7,3.6},{2,3,4.7},{3,4,1.27}};  
  12.  int m_i,m_j,abs_max;  
  13.  for(m_i=0;m_i<3;m_i++)  
  14.  {  
  15.     abs_max = 0;  
  16.     for(m_j=0;m_j<3;m_j++)  
  17.     {  
  18.         if(fabs(arr_num[m_i][m_j])>fabs(arr_num[m_i][abs_max]))  
  19.             abs_max = m_j;  
  20.     }  
  21.     for(m_j=0;m_j<3;m_j++)  
  22.     {  
  23.         arr_num[m_i][m_j]/=arr_num[m_i][abs_max];  
  24.         printf("%f ",arr_num[m_i][m_j]);  
  25.     }  
  26.     printf("\n");  
  27.  }  
  28.   getch();  
  29.   return 0;  
  30. }  

问题15实现代码:
view plainprint?
  1. /* author:宋金时 */  
  2. /* date:2011/11/02 */  
  3.   
  4. #include "Stdio.h"  
  5. #include "Conio.h"  
  6.   
  7. double f(int x,int y);  
  8.   
  9. int main(void)  
  10. {  
  11.  double m_min;  
  12.  int m_i,m_j,m_x,m_y;  
  13.  m_min = f(1,1);  
  14.  for(m_i=0;m_i<10;m_i++)  
  15.  {  
  16.     for(m_j=0;m_j<10;m_j++)  
  17.     {  
  18.         if(m_min>f(m_i+1,m_j+1))  
  19.         {  
  20.         m_min = f(m_i+1,m_j+1);  
  21.         m_x = m_i+1;  
  22.         m_y = m_j+1;  
  23.         }  
  24.     }  
  25.  }  
  26.  printf("x=%d y=%d\n",m_x,m_y);  
  27.   getch();  
  28.   return 0;  
  29. }  
  30.   
  31. double f(int x , int y)  
  32. {  
  33.     return ((double)(3*x-2*y)/(double)(x+y));  
  34. }  

问题16实现代码:
view plainprint?
  1. /* anthor:宋金时 */  
  2. /* date:2011/11/01 */  
  3.   
  4. #include "Stdio.h"  
  5. #include "Conio.h"  
  6.   
  7. #define N 20  
  8.   
  9. int main(void)  
  10. {  
  11.  /* 此处添加你自己的代码 */  
  12.  char str[N],*s_p,*temp_p,*s_new;  
  13.  puts("please input a string:");  
  14.  gets(str);  
  15.  s_p = str;  
  16.  while(*s_p!='\0')  
  17.  {  
  18.     if((*s_p>='0')&&(*s_p<='9'))  
  19.     {  
  20.         s_new = (char*)malloc(strlen(s_p)+1);  
  21.         strcpy(s_new,s_p);  
  22.         *s_p='\0';  
  23.         strcat(str,"*");  
  24.         s_p++;  
  25.         strcat(str,s_new);  
  26.         free(s_new);  
  27.         s_new = NULL;  
  28.     }  
  29.     s_p++;  
  30.  }  
  31.  puts(str);  
  32.   getch();  
  33.   return 0;  
  34. }  

问题17实现代码:
view plainprint?
  1. /* author:宋金时 */  
  2. /* date:2011/11/02 */  
  3.   
  4. #include "Stdio.h"  
  5. #include "Conio.h"  
  6.   
  7. #define N 10  
  8.   
  9. typedef struct student  
  10. {  
  11.     char num[20];  
  12.     int score;  
  13. }stu;  
  14.   
  15. int main(void)  
  16. {  
  17.  /* 此处添加你自己的代码 */  
  18.   stu arr_stu[N]={{"A01",81},{"A02",89},{"A03",66},\  
  19.   {"A04",87},{"A05",77},{"A06",90},{"A07",79},{"A08",61},\  
  20.   {"A09",80},{"A10",71}};  
  21.   int m_i,m_pos=0;  
  22.   for(m_i=0;m_i<N;m_i++)  
  23.   {  
  24.       if(arr_stu[m_i].score<arr_stu[m_pos].score)  
  25.       {  
  26.         m_pos = m_i;  
  27.       }  
  28.   }  
  29.   puts("number score");  
  30.   printf("%s %d\n",arr_stu[m_pos].num,arr_stu[m_pos].score);  
  31.   getch();  
  32.   return 0;  
  33. }  

原创粉丝点击