第一次接触C语言

有奖征资源,博文分享有内涵          5月推荐博文汇总          第二届战神杯编程挑战月赛          2014 CSDN博文大赛
 C程序设计Week12晚上练习
分类: C课程 2014-05-13 15:27 231人阅读 评论(0) 收藏 举报

本周只进行一个程序,以前的一个程序。


自定义如下函数,输入n(n<46)个学生的姓名和成绩,顺序输出这n个学生的姓名和成绩,并输出最高成绩的姓名和成绩。预习struct结构体,思考如何改进这一程序。


[cpp] view plaincopy
 //为count个学生输入姓名和成绩  
 void getStudentsInfo(char names[][20], int scores[] , int count);  
 void getStudentsInfo(char* names[], int scores[] , int count);  
 //依次打印count个学生的姓名和成绩   
void printStudentsInfo(char* names[], int scores[],int count);   
//获取最高成绩的学生的index   
int getIndexOfMaxScore(int scores[],int count);  

知识点:
1 字符串数组用于处理多个人的姓名
2 数组作为函数的参数

the core code:

[cpp] view plaincopy
/* Note:Your choice is C IDE */  
#include "stdio.h"  
  
void inputStudents(char name[][20],int score[],int num);  
void outputStudents(char name[][20],int score[],int num);  
main()  
{  
    char name[45][20];  
    int  score[45];  
      
    inputStudents(name,score,2);  
    outputStudents(name,score,2);  
      
}  
  
void inputStudents(char name[][20],int score[],int num){  
     int i ;  
     for(i=0;iN || n <1){  
      printf("not valid sum\n");  
      return -1;  
    }  
    printf("NOW INPUT AS ( NAME SCORE ):\n");  
    for(i=0;i max_score ){  
         max_score = score[i];  
         max_index = i;  
      }  
      
    printf("The Top Score is %d  by %s \n",score[max_index],names[max_index]);  
      
}  

=====================华丽的分割线====================================================

有很多知识点需要大家复习,下面是一些比较cute的程序,弄懂啊弄懂

[cpp] view plaincopy
//0  
#include "stdio.h"  
void main(){  
  int i=0, a[]={3,4,5,4,3};  
  do  
  {  
      a[i]++;  
   }while(a[++i]<5);  
   
  for(i=0;i<5;i++)  
     printf("%d",a[i]) ;  
}  
  
//1  
#include "stdio.h"  
void main(){  
   int a = 7;  
   int b = 8;  
   printf ( "a&b = %d\n",a&b);  
   printf( "a&&b = %d\n",a&&b);  
}  
//2   
#include "stdio.h"  
void main(){  
   int i ;  
   for(int i = 0; i<4; i++){  
      if( i==2)  
         break;  
      printf("%d ",i);  
   }  
  printf("\n");  
 for(int i = 0; i<4; i++){  
      if( i==2)  
         continue;  
      printf("%d ",i);  
   }  
   printf("\n");  
}  
//3   
#include "stdio.h"  
void main(){  
  int sum=0,item=0;  
  while(item<7){  
    item++;  
    sum+=item;  
    if(sum==7)  
      break;  }  
  printf("%d\n",sum);  
}  
//4   
#include "stdio.h"  
void main(){  
  int a[]={1,2,3,4,5,6,7,8};  
  int i,x ,*p;  
  x=1;  
  p=&a[3];  
  for( i=0; i<3; i++ )  
     x *= *(p+i);  
  printf("x=%d\n",x);  
}  
//5   
#include "stdio.h"  
void main(){  
  int i=5,x=1;  
  for(;i<5;i++) x=x+1;  
  printf("%d\n",x);  
}  
//6   
#include "stdio.h"  
void main(){  
    int x,y;  
    for (x=0, y=0 ; (y!=123) &&(x<4); x++)   
       y++;  
    printf("x=%d,y=%d\n",x,y);  
}  
//7   
#include "stdio.h"  
void main(){  
 int a[7]={3,4,5,6,7,8,9};  
 int *p,*q;  
 int i,x;  
 p=&a[0];  
 q=&a[6];  
 for (i=0;i<3;i++)  
   if(*(p+i)==*(q-i) )  
      x=*(p+i)*2;  
}  
//8  
#include "stdio.h"  
void main(){  
  int a[5][5];  
  printf("&a[3][2]-a=%d\n",&a[3][2]-a);  
}  
//9  
#include "stdio.h"  
void main(){  
  int i=2,n=2;  
  for(;i<5;i++){  
     continue;  
     n=n+i;  
   }  
  printf("%d\n",n);  
}  有奖征资源,博文分享有内涵          5月推荐博文汇总          第二届战神杯编程挑战月赛          2014 CSDN博文大赛
 C程序设计Week12晚上练习
分类: C课程 2014-05-13 15:27 231人阅读 评论(0) 收藏 举报

本周只进行一个程序,以前的一个程序。


自定义如下函数,输入n(n<46)个学生的姓名和成绩,顺序输出这n个学生的姓名和成绩,并输出最高成绩的姓名和成绩。预习struct结构体,思考如何改进这一程序。


[cpp] view plaincopy
 //为count个学生输入姓名和成绩  
 void getStudentsInfo(char names[][20], int scores[] , int count);  
 void getStudentsInfo(char* names[], int scores[] , int count);  
 //依次打印count个学生的姓名和成绩   
void printStudentsInfo(char* names[], int scores[],int count);   
//获取最高成绩的学生的index   
int getIndexOfMaxScore(int scores[],int count);  

知识点:
1 字符串数组用于处理多个人的姓名
2 数组作为函数的参数

the core code:

[cpp] view plaincopy
/* Note:Your choice is C IDE */  
#include "stdio.h"  
  
void inputStudents(char name[][20],int score[],int num);  
void outputStudents(char name[][20],int score[],int num);  
main()  
{  
    char name[45][20];  
    int  score[45];  
      
    inputStudents(name,score,2);  
    outputStudents(name,score,2);  
      
}  
  
void inputStudents(char name[][20],int score[],int num){  
     int i ;  
     for(i=0;iN || n <1){  
      printf("not valid sum\n");  
      return -1;  
    }  
    printf("NOW INPUT AS ( NAME SCORE ):\n");  
    for(i=0;i max_score ){  
         max_score = score[i];  
         max_index = i;  
      }  
      
    printf("The Top Score is %d  by %s \n",score[max_index],names[max_index]);  
      
}  

=====================华丽的分割线====================================================

有很多知识点需要大家复习,下面是一些比较cute的程序,弄懂啊弄懂

[cpp] view plaincopy
//0  
#include "stdio.h"  
void main(){  
  int i=0, a[]={3,4,5,4,3};  
  do  
  {  
      a[i]++;  
   }while(a[++i]<5);  
   
  for(i=0;i<5;i++)  
     printf("%d",a[i]) ;  
}  
  
//1  
#include "stdio.h"  
void main(){  
   int a = 7;  
   int b = 8;  
   printf ( "a&b = %d\n",a&b);  
   printf( "a&&b = %d\n",a&&b);  
}  
//2   
#include "stdio.h"  
void main(){  
   int i ;  
   for(int i = 0; i<4; i++){  
      if( i==2)  
         break;  
      printf("%d ",i);  
   }  
  printf("\n");  
 for(int i = 0; i<4; i++){  
      if( i==2)  
         continue;  
      printf("%d ",i);  
   }  
   printf("\n");  
}  
//3   
#include "stdio.h"  
void main(){  
  int sum=0,item=0;  
  while(item<7){  
    item++;  
    sum+=item;  
    if(sum==7)  
      break;  }  
  printf("%d\n",sum);  
}  
//4   
#include "stdio.h"  
void main(){  
  int a[]={1,2,3,4,5,6,7,8};  
  int i,x ,*p;  
  x=1;  
  p=&a[3];  
  for( i=0; i<3; i++ )  
     x *= *(p+i);  
  printf("x=%d\n",x);  
}  
//5   
#include "stdio.h"  
void main(){  
  int i=5,x=1;  
  for(;i<5;i++) x=x+1;  
  printf("%d\n",x);  
}  
//6   
#include "stdio.h"  
void main(){  
    int x,y;  
    for (x=0, y=0 ; (y!=123) &&(x<4); x++)   
       y++;  
    printf("x=%d,y=%d\n",x,y);  
}  
//7   
#include "stdio.h"  
void main(){  
 int a[7]={3,4,5,6,7,8,9};  
 int *p,*q;  
 int i,x;  
 p=&a[0];  
 q=&a[6];  
 for (i=0;i<3;i++)  
   if(*(p+i)==*(q-i) )  
      x=*(p+i)*2;  
}  
//8  
#include "stdio.h"  
void main(){  
  int a[5][5];  
  printf("&a[3][2]-a=%d\n",&a[3][2]-a);  
}  
//9  
#include "stdio.h"  
void main(){  
  int i=2,n=2;  
  for(;i<5;i++){  
     continue;  
     n=n+i;  
   }  
  printf("%d\n",n);  
}  

错误:1、变量间没有加逗号,

             2、句尾没有加分号,

            3、分段符没有加在引号里面。

你可能感兴趣的:(随笔)