这个c语言题,帮忙写下,我是新手,最好能加上注释,用些简单的东西

如题所述

1、 一维数组
实验目的:掌握一维数组的定义、初始化,以及一维数组元素的下标法引用和指针法引用。
实验内容:
1.将数组a中的10个元素后移m位,移出的m位顺序存放在数组的前位。
要求:(1)数组元素值在程序中初始化。
(2)m的值从键盘输入。
(3)用下标法和指针法两种方法。
2、 数组
实验目的:掌握二维数组的定义、初始化,以及二维数组元素的下标法引用和指针法引用。
实验内容:
1.有5名学生,每名学生有语文、数学、物理和外语四门课的考试成绩,编程统计各学生的总分和平均分,以及。
【解答】

第一题:
(1)下标法
#include
#include
void main()
{
int a[10]={0,1,2,3,4,5,6,7,8,9};
int m;
printf("请输入移动的位数:");
scanf("%d",&m);
int b[10]={0};
int i,j;
printf("移动前的数组是:");
for(i=0;i<10;i++)
{
b[i]=a[i];
printf("%d ",a[i]);
}
printf("");
for(i=9;i>=m;i--)
{
//j++;
a[i]=a[i-m];
}
for(i=0,j=10-m;i a[i]=b[j];
printf("移动后的数组是:");
for(i=0;i<10;i++)
printf("%d ",a[i]);
printf("");
}
(2)指针法
#include
#include
void main()
{
int a[10]={0,1,2,3,4,5,6,7,8,9};
int m;
printf("请输入移动的位数:");
scanf("%d",&m);
int b[10]={0};
int *p,*q;
printf("移动前的数组是:");
for(p=a,q=b;p {
*q=*p;
printf("%d ",*p);
}
printf("");
for(p=a+9;p>=a+m;p--)
{
*p=*(p-m);
}
for(p=a,q=b+10-m;p *p=*q;
printf("移动后的数组是:");
for(p=a;p printf("%d ",*p);
printf("");
}追答

1、 一维数组
实验目的:掌握一维数组的定义、初始化,以及一维数组元素的下标法引用和指针法引用。
实验内容:
1.将数组a中的10个元素后移m位,移出的m位顺序存放在数组的前位。
要求:(1)数组元素值在程序中初始化。
(2)m的值从键盘输入。
(3)用下标法和指针法两种方法。
2、 数组
实验目的:掌握二维数组的定义、初始化,以及二维数组元素的下标法引用和指针法引用。
实验内容:
1.有5名学生,每名学生有语文、数学、物理和外语四门课的考试成绩,编程统计各学生的总分和平均分,以及。
【解答】

第一题:
(1)下标法
#include
#include
void main()
{
int a[10]={0,1,2,3,4,5,6,7,8,9};
int m;
printf("请输入移动的位数:");
scanf("%d",&m);
int b[10]={0};
int i,j;
printf("移动前的数组是:");
for(i=0;i
=m;i--)
{
//j++;
a[i]=a[i-m];
}
for(i=0,j=10-m;i a[i]=b[j];
printf("移动后的数组是:");
for(i=0;i
=a+m;p--)
{
*p=*(p-m);
}
for(p=a,q=b+10-m;p *p=*q;
printf("移动后的数组是:");
for(p=a;p printf("%d ",*p);
printf("");
}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-12-02
谭浩强先生的c语言了解一下
第2个回答  2018-12-02
大姐你把单号
第3个回答  2018-12-02
。。。
相似回答