安徽大学C语言实验平台作业答案汇总 下载本文

main() {int i;

for(i=1;i<=99;i++)

if(i*i==i||i*i0==i) printf(\} 3.

#include main()

{int i,j,k,count=0; }

for(i=1;i<=9;i++) for(j=0;j<=9;j++)

if(i==j) continue;

else for(k=0;k<=9;k++)

if(k!=i&&k!=j) count++; printf(\

实验九 C的数组

1. 编程实现:输入一个正整数n(1

例如:输入5,再输入三个数8、23、1、7、19,则输出为:19、7、1、23、8。 2. 编程实现:输入10个正整数,将它们中的最小值与第一个数交换,最大值与最后一个数交换,然后输出交换后的10个数。

3. 编程实现:已知二次等差数列的前4项为2,5,10,17,请定义一维整型数组存储该数列的前20项,并每5个数为一行输出该数列的前20项。

4. 已知一组整型数据已按从小到大排列好,现任意输入一个整数,请按原来排序的规律将它插入到数组中(例如:原来的一组整数为1,3,5,8,9,若输入的整数是7,则最终的结果为: 1,3,5,7,8,9),请编程实现。

5. 编程:将一个4×4的整型矩阵元素按副对角线(右上到左下)互换。 要求:

(1)键盘输入矩阵各元素的值。 (2)互换前,按矩阵形式输出矩阵。 (3)互换后,按矩阵形式输出矩阵。

6. 求一个4×4的整数矩阵的副对角线(右上到左下)上所有奇数的和sum及偶数的平均值ave。

要求:结果保留2位小数

7. 通过循环按行顺序为一个5×5的二维数组a赋1到25的自然数,然后输出该数组的左下半角元素的值和它们之和。

8. 定义一个实数型数组,将10个实数输入到数组中,编程实现任一块区间所有元素的平均值,即输入两整数m,n,计算出数组中第m个元素开始的后n个元素的平均值,包括第m个元素(若n值过大,即个数太多,超过数组的最后一个元素,则统计到最后一个元素)。

例如:数组元素为1.0,2.0,3.0,4.0,5.0,6.0,7.0,8.0,9.0,10.0,输入3,5,则输出5.0。

9. 一个整型数组有10个元素,编写程序删除所有值为n的元素。如:数组中为1,3,2,4,2,7,9,0,2,5,n的值为2,删除后输出数组元素应该为1,3,4,7,9,0,5。(此题为选做) 10. 定义两个N行N列的二维数组a、b,编写程序,将a数组最后一行放到b数组的第0列中,把a数组中的第0行放到b数组的最后一列中,b所指二维数组中其他元素的数据不变。(此题为选做)

11. 试编程实现如下功能:先定义一个4行5列的数组(矩阵),调用库函数rand()随机产生20-50之间的整数给数组元素赋值,再将矩阵中第二列与第四列的元素互换。要求先输出原数组,再输出交换后的数组(rand函数的使用请参阅教材259页)。(此题为选做) 1.

#include main() {

int a[10],n,i; scanf(\

for(i=n-1;i>=0;i--)scanf(\for(i=0;i

#include main() {

int n,i,a[10],max,min,t,r,p; scanf(\for (i=1;i<=n;i++) scanf(\min=a[1];

for (i=1;i<=n;i++) {

if (a[i]

} }

t=a[1],a[1]=min,a[r]=t; max=a[n];

for (i=1;i<=n;i++) {

if (a[i]>a[n]) { max=a[i]; p=i; } }

t=a[n],a[n]=max,a[p]=t; for (i=1;i<=n;i++) printf(\} 3.

#include void main() {int a[21],i; for(i=1;i<=20;i++) {a[i]=i*i+1;

printf(\ if(i%5==0) } } 4.

#include main()

{int a[10]={1,3,5,7,9,11,13,15,17},i,j,n; printf(\请输入1个整数\scanf(\for(i=0;i<9;i++) if(a[i]>n)

{for(j=9;j>i;j--)a[j]=a[j-1]; a[i]=n; break; }

if(n>=a[8])a[9]=n; for(i=0;i<10;i++) printf(\printf(\}

printf(\

6.

#include main()

{int a[4][4],i,j,t=0; float s1=0 ,s2=0,ave; for(i=0;i<=3;i++) { for(j=0;j<=3;j++)

{printf(\scanf(\} }

for(i=0;i<=3;i++) {

for(j=3;j>=0;j--) { if(i+j==3) {if(a[i][j]%2!=0) {s1=s1+a[i][j]; } else { t++;

s2=s2+a[i][j]; ave=s2/t; } } } }

printf(\} 7.

#include main() {

int i,j,k=1,s=0; int a[5][5]; for(i=0;i<5;i++) {

for(j=0;j<5;j++) {

a[i][j]=k; k++; } }

putchar(10);