c语言动态分配空间问题

动态分配空间来存放一个班学生的某门功课成绩(不超过30人),成绩由用户输入。设计一个循环过程,根据用户输入的号码(1~30)输出对应学生的成绩... 动态分配空间来存放一个班学生的某门功课成绩(不超过30人),成绩由用户输入。设计一个循环过程,根据用户输入的号码(1~30)输出对应学生的成绩 展开
 我来答
百度网友55a4422
2012-10-18 · 超过39用户采纳过TA的回答
知道小有建树答主
回答量:157
采纳率:0%
帮助的人:112万
展开全部
#include <stdio.h>#include <malloc.h>
int main(){
int *a, n, i;
printf("请输入学生人数:");
scanf("%d",&n);
a = (int *)malloc(sizeof(int)*n); //动态分配内存,根据n分配
for(i=0; i<n; i++){
printf("请输入学号为%d的学生成绩:",i+1);
scanf("%d",&a[i]);
}
for(i=0; i<n; i++){
printf("学号:%d\t成绩:%d\n",i+1,a[i]);
}
return 0;
}
muyi_917
2012-10-19 · TA获得超过245个赞
知道答主
回答量:16
采纳率:0%
帮助的人:12.6万
展开全部
#include <stdio.h>#include <malloc.h>
int main(){
int *a, n, i;
printf("请输入学生人数:");
scanf("%d",&n);
a = (int *)malloc(sizeof(int)*n); //动态分配内存,根据n分配
for(i=0; i<n; i++){
printf("请输入学号为%d的学生成绩:",i+1);
scanf("%d",&a[i]);
} int i; while(1){ scanf("%d",&i); if(i<0||i>30){ printf("号码不在次范围,请重新输入号码:1-30!"); break; } else { printf("学号为:%d的成绩为:%d",i,a[i]); } //可以设置一个条件跳出循环 }return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友e67258e66
2012-10-18
知道答主
回答量:10
采纳率:0%
帮助的人:6.6万
展开全部
#include <stdio.h>#include <malloc.h>
int main()
{
int *a, n, i;
printf("请输入学生人数:");
scanf("%d",&n);
a = (int *)malloc(sizeof(int)*n); //动态分配内存,根据n分配
for(i=0; i<n; i++){
printf("请输入学号为%d的学生成绩:",i+1);
scanf("%d",&a[i]);
}
int sno=0;
printf("请输入学生的学号来查询成绩");

scanf("%d",&sno);
while(sno!=0)
{
if(sno>n||sno<0)
{
printf("输入错误,超出范围");
continue;
}
printf("学号:%d\t成绩:%d\n",sno,a[i-1]);
}

return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式