c语言题目:用一个数组Student[2],记录2个学生的学号。定义一个函数modify( ), 输入变量i和number的值, 将Student[i]的学号修改为number。在主程序中调用modify( )函数, 并输出所有学生的学号.
方法其实蛮多,仅供参考。
方法一:直接写死
#include<stdio.h>
int modify(int i,int number) {
int Student[2]= {1234,5678}; // 初始化数组
// 定义指针指向该数组
int* p;
p = Student;
//条件判断修改哪一个值
if(i==1){
*p= number;
}
else if(i==2){
*(p+1) = number;
}
else{
printf("i无效");
}
//输出学生学号,如果学号比较多可以用 for 循环
printf("%d %d\n",Student[0],Student[1]);
return 0;
}
void main() {
int i,number;
scanf("%d%d",&i,&number);
modify(i,number);
}
方法二: 用 for 循环
#include<stdio.h>
int modify(int i,int number) {
int Student[2]= {1234,5678}; // 初始化数组
// 定义指针指向该数组
int j;
int* p;
p = Student;
int len = sizeof(Student)/sizeof(Student [0]);//计算数组长度
if(i==1){
*p= number;
}
else if(i==2){
*(p+1) = number;
}
else{
printf("i无效");
}
for(j=0;j<len;j++){
printf("%d ",Student[j]);
}
return 0;
}
void main() {
int i,number;
scanf("%d%d",&i,&number);
modify(i,number);
}