有奖征资源,博文分享有内涵 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);
}
2、句尾没有加分号,
3、分段符没有加在引号里面。