#define _CRT_SECURE_NO_WARNINGS 1#define Q 30//定义一个含有30个元素的int整型数组#include<stdio.h>intmain(){int ass[Q], i, k =1;//依次给数组赋偶数for(i =0; i < Q; i++)
ass[i]=2* i +2;printf("正序输出:\n");for(i =0; i < Q; i++){printf("%3d ", ass[i]);//每10个换行if((i +1)%10==0)printf("\n");}printf("逆序输出:\n");for(i = Q -1; i >=0; i--){printf("%3d ", ass[i]);if(i %10==0)printf("\n");}return0;}
从键盘输入9个整数存入一维数组中,将数组的值倒置后重新存入该数组并输出
//从键盘输入9个整数存入一维数组中,将数组的值倒置后重新存入该数组并输出#define W 9intmain(){int i, j;int t =0;//在进行倒置的中间变量int arr[W];printf("请输入9个元素:\n");for(i =0; i < W; i++)scanf("%d",&arr[i]);for(i =0, j = W-1; i < j; i++, j--){
t = arr[i];
arr[i]= arr[j];
arr[j]= t;}printf("倒置后的数组是:");for(i =0; i < W; i++)printf("%3d", arr[i]);return0;}
二维数组
1. 从键盘输入3行5列数,求所有数的最大值
#include<stdio.h>#define M 3#define N 5intmain(){int a[M][N];int i, j, max, row =0, colum =0;for(i =0; i < M; i++)for(j =0; j < N; j++)scanf("%d",&a[i][j]);
max = a[row][colum];for(i =0; i < M; i++)for(j =0; j < N; j++){if(a[i][j]> max){
row = i; colum = j;
max = a[row][colum];}}for(i =0; i < M; i++){for(j =0; j < N; j++){printf("%5d", a[i][j]);}printf("\n");}printf("max:%d\nrow:%d\ncolum:%d\n", max, row +1, colum +1);return0;}
2. 从键盘输入3行5列数,求每行的最大值
#include<stdio.h>#define M 3#define N 5intmain(){int a[M][N], i, j, max;for(i =0; i < M; i++)for(j =0; j < N; j++)scanf("%d",&a[i][j]);for(i =0; i < M; i++){
max = a[i][0];for(j =0; j < N; j++)if(a[i][j]> max)
max = a[i][j];printf("第%d行最大值为%d\n",i+1, max);}return0;}
3. 从键盘输入3行5列数,求每列的最大值
#include<stdio.h>#define M 3#define N 5intmain(){int a[M][N], i, j, max;for(i =0; i < M; i++)for(j =0; j < N; j++)scanf("%d",&a[i][j]);for(j =0; j < N; j++){
max = a[0][j];for(i =0; i < M; i++)if(a[i][j]> max)
max = a[i][j];printf("第%d列最大值为: % d\n",j+1, max);}return0;}
4. 从键盘输入4行5列数,把数据是偶数的数放入另外一个数组(定义成一维的)中,输出放入偶数的数组
#include<stdio.h>#define M 4#define N 5intmain(){int a[M][N],i, j;int x =0, y =0;int b[M * N];for(i =0; i < M; i++)for(j =0; j < N; j++)scanf("%d",&a[i][j]);for(i =0; i < M; i++)for(j =0; j < N; j++)if(a[i][j]%2==0){
b[x]= a[i][j];
x++;}for(x--; x >=0; x--)printf("%3d",b[x]);return0;}
5. 在3行4列的二维数组x中,找出数组的最大值以及此最大值所在的行列下标
#include<stdio.h>#define M 3#define N 4intmain(){int a[M][N];int i, j, max, row =0, colum =0;for(i =0; i < M; i++)for(j =0; j < N; j++)scanf("%d",&a[i][j]);
max = a[row][colum];for(i =0; i < M; i++)for(j =0; j < N; j++){if(a[i][j]> max){
row = i; colum = j;
max = a[row][colum];}}printf("max:%d\nrow:%d\ncolum:%d\n", max, row +1, colum +1);return0;}
6. 有5人3门课成绩,编程求各科的平均分,和总平均成绩
#include<stdio.h>intmain(){float scores[5];float avestu[5];float avecourse[5];float sum =0;float aaa;printf("请输入这五个学生的第1个成绩");for(int i =0; i <5; i++){scanf("%f",&scores[i]);
sum = sum + scores[i];}printf("该科的平均成绩为:%f\n",(sum /5.0));
aaa = sum;
sum =0;printf("请输入这五个学生的第2个成绩");for(int i =0; i <5; i++){scanf("%f",&avestu[i]);
sum = sum + avestu[i];}printf("该科的平均成绩为:%f\n",(sum /5.0));
sum =0;printf("请输入这五个学生的第3个成绩");for(int i =0; i <5; i++){scanf("%f",&avecourse[i]);
sum = sum + avecourse[i];}printf("该科的平均成绩为:%f\n", sum /5.0);
aaa += sum;printf("总平均成绩为:%d", aaa /3);return0;}