作业
1.终端循环输入几个数赋值给二维整形数组arr,求最大值以及所在行 列
#include<stdio.h>
int main(){
int arr[3][3],i,j,x,y,max;
printf("请输入9位数字\n");
for(i=0;i<3;i++){
for(j=0;j<3;j++){
scanf("%d",&arr[i][j]);
if(i==0 && j==0){
max = arr[i][j];
x = i;
y = j;
}else {
if(max < arr[i][j]){
max = arr[i][j];
x = i;
y = j;
}
}
}
printf("\n");
}
printf("最大值:%d\n",max);
printf("最大值所在行:%d\n",x+1);
printf("最大值所在列:%d\n",y+1);
return 0;
}
2.定义一个一维数组 int a[]= {1,2,3,4,5,6,7,8},
(1) 求一维数组的长度
(2) 并将所有奇数下标元素自乘3,偶数下标元素自增2.输出变化后的数组
#include<stdio.h>
int main(){
int a[]= {1,2,3,4,5,6,7,8},i;
int len = sizeof(a)/sizeof(int);
printf("数组长度:%d\n",len);
printf("变化后数组:\n");
for(i=0;i<len;i++){
if(i%2==0){
a[i]*=3;
}else{
a[i]+=2;
}
printf("%d ",a[i]);
}
printf("\n");
return 0;
}
3.一维整形整形数组逆置,例如: arr[5] ={1,2,3,4,5} 输出 {5,4,3,2,1}
#include<stdio.h>
int main(){
int arr[5]={},i;
printf("请输入5个数:\n");
for(i=0;i<5;i++){
scanf("%d",&arr[i]);
}
printf("倒序输出:\n");
for(i=5-1;i>=0;i--){
printf("%d ",arr[i]);
}
printf("\n");
return 0;
}
#include <stdio.h>
int main(int argc, const char *argv[])
{
int len;
printf("请输入一个整数:\n");
scanf("%d",&len);
int i,j,arr[100];
printf("请输入%d个数字:\n",len);
for(i=0 ;i<len;i++){
scanf("%d",&arr[i]);
}
int temp;
for(i=0;i<len/2;i++){
temp = arr[i];
arr[i] = arr[len-1-i];
arr[len-1-i] = temp;
}
printf("倒序输出:\n");
for(i = 0;i<len;i++){
printf("%d ",arr[i]);
}
printf("/n");
return 0;
}
4.冒泡排序,int arr[8] = {88,22,33,66,11,66,101,2}.
#include<stdio.h>
int main(){
int arr[8] = {88,22,33,66,11,66,101,2};
int i,j,temp;
int len = sizeof(arr)/sizeof(int);
printf("排序前:\n");
for(i=0;i<len;i++){
printf("%d ",arr[i]);
}
printf("\n");
for(i=0;i<len-1;i++){
for(j=0;j<len-i-1;j++){
if(arr[j]>arr[j+1]){
temp = arr[j+1];
arr[j+1] = arr[j];
arr[j] = temp;
}
}
}
printf("排序后:\n");
for(i=0;i<len;i++){
printf("%d ",arr[i]);
}
printf("\n");
return 0;
}