作业3月8号

===============================================================================================
4.1任务1:一维数组的应用(时间:30分钟)
===============================================================================================
/*依次按照下面要求完成操作:
声明一个包含6个元素的int数组chuck,并将它初始化为从2开始的连续6个偶数。
编写语句,将chuck数组的第一个元素和最后一个元素的和赋值给变量even,并将even输出。
编写语句,显示chuck数组中第3个元素的值。
编写语句,将chuck数组中第5个元素的值改为100。
编写语句,依次显示chuck数组中所有的元素,元素间用逗号隔开。
倒序输出chuck数组中所有的元素。
另外定义一个6个元素的int数组dipsea(要求在定义时所有元素初始化为0),
将chuck数组的内容赋值给dipsea数组,然后显示dipsea数组所有元素的值,元素间用逗号隔开。*/


#include<stdio.h>
int main(){


int even=0,i=0;
int chuck[6]={2,4,6,8,10,12};//(1)
int dipsea[6]={0};


even=chuck[0]+chuck[5];//(2)
printf("even=%d\n",even);


printf("chuck数组中第3个元素的值=%d\n",chuck[2]);//(3)


//(4)将chuck数组中第5个元素的值改为100。
chuck[4]=100;


//(5)单独访问
//printf("chuck[0]=%d,chuck[1]=%d,chuck[2]=%d,chuck[3]=%d,chuck[4]=%d",chuck[0],chuck[1],chuck[2],chuck[3],chuck[4]);


//(5)使用循环依次显示chuck数组中所有的元素,元素间用逗号隔开。
for(i=0;i<5;i++){
printf("chuck[i]=%d,",chuck[i]);
}
printf("\n");
//(6)倒序输出chuck数组中所有的元素。
for(i=4;i>=0;i--){
printf("chuck[i]=%d,",chuck[i]);
}
printf("\n");
//(7)
for(i=0;i<5;i++){
dipsea[i]=chuck[i];
printf("dipsea[i]=%d,",dipsea[i]);
}


return 0;
}
===============================================================================================
4.2任务2:接收整数序列(时间:25分钟)
===============================================================================================
/*
编写一个程序,从键盘上接收10个整数,将它们保存到一个数组里。
在输入完成后输出用户刚刚输入的10个整数。
从键盘上再接收一个整数,将它保存到int变量number里。
从刚才第一次接收的10个整数中,查找是否有整数number,
如果有则输出它在数组中的位置,否则输出没有找到
(没有找到是指数组中没有一个元素的值与number值相等,
则输出没有找到)
*/


#include<stdio.h>
int main(){
int num[10]={0};
int i=0,number=0;
int bool=0,dishu=0;
setvbuf(stdout,NULL,_IONBF,0);
printf("请输入十个数\n");


//从键盘上接收10个整数,将它们保存到num数组里。
for(i=0;i<10;i++){
printf("请输入数%d\n",i+1);
scanf("%d",&num[i]);
}
for(i=0;i<10;i++){
printf("num[%d]=%d  ",i,num[i]);
}
//键盘上再接收一个整数,将它保存到int变量number里。
printf(" \n请在输入一个数\n");
scanf("%d",&number);


for(i=0;i<10;i++){
if(num[i]==number){
bool=1;
dishu=i;
}else{}
}
if(bool==1){
printf("\n数组中存在%d,位置为num[%d]",number,dishu);
}
else{
printf("\n数组中不存在%d",number);
}


return 0;
}
===============================================================================================
4.3任务3:数组应用(时间:25分钟)
===============================================================================================
/*定义一个数组days,将其初始化为今年每月的天数,
编写一段程序,将每月的天数打印出来。*/
#include<stdio.h>
int main(){
int i=0;
//month数组存储月份
int month[12]={0};
//days数组存储每月多少天
int days[12]={0};
//为每月和每日赋值
for(i=0;i<12;i++){
month[i]=i+1;
if(i+1==4||i+1==6||i+1==9||i+1==11){
days[i]=30;
}else if(i+1==2){
days[i]=28;
}else{
days[i]=31;
}
}
//输出月份的天数
for(i=0;i<12;i++){
printf("Month %d has %d days.\n",month[i],days[i]);
}
return 0;
}
===============================================================================================
4.4任务4:数组操作(时间:50分钟)
===============================================================================================
/*编写一段程序,要求定义一个含有5个元素的数组,实现数组接收键盘输入的数字,
输入完毕后打印数组元素,并比较得出数组中元素的最大值和最小值,并输出。*/
#include<stdio.h>
int main(){


int i=0;
int temp=0;
int num[5]={0};
setvbuf(stdout,NULL,_IONBF,0);
//从键盘获取5个数
printf("请输入五个数\n");
for(i=0;i<5;i++){
printf("请输入数%d\n",i+1);
scanf("%d",&num[i]);
}
//打印数组中的数
for(i=0;i<5;i++){
printf("num[i]=%d  ",num[i]);
}
//求五个数种的最大值
for(i=0;i<4;i++){
if(num[i]>num[i+1]){
temp=num[i];
num[i]=num[i+1];
num[i+1]=temp;
}
}
printf("\n数组中最大值为:%d",num[4]);
//求最小值
for(i=0;i<4;i++){
if(num[i]<num[i+1]){
temp=num[i];
num[i]=num[i+1];
num[i+1]=temp;
}
}
printf("\n数组中最小值为:%d",num[4]);
return 0;
}






//定义一个由整数组成的数组,求出其中奇数的个数和偶数的个数,并打印。
#include<stdio.h>
int main(){
int i=0;
int jishu=0;
int oushu=0;
int temp[5]={0};
setvbuf(stdout,NULL,_IONBF,0);
for(i=0;i<5;i++){
printf("请输入数%d\n",i+1);
scanf("%d",&temp[i]);
}
for(i=0;i<5;i++){
if(temp[i]%2==0){
               ++oushu;
}
        if(temp[i]%2==1){
        ++jishu;
}
}
printf("奇数有%d\n",jishu);
printf("偶数有%d\n",oushu);
return 0;
}




===============================================================================================
4.5任务5:排序求最值(时间:50分钟)
===============================================================================================
/* 定义一个int型的一维数组,包含10个元素,分别赋值为1~10,
然后将数组中的元素都向前移一个位置,即a[0]=a[1],a[1]=a[2],…
最后一个元素的值是原来第一个元素的值,然后输出这个数组。 */
#include<stdio.h>
int main(){


int i=0;
int aa[10]={0};
//定义一个int型的一维数组,包含10个元素,分别赋值为1~10
for(i=0;i<10;i++){
aa[i]=i+1;
}
for(i=0;i<9;i++){
aa[i]=aa[i+1];
}
aa[9]=1;
for(i=0;i<10;i++){
printf("aa[i]=%d ",aa[i]);
}
return 0;
}




/*有一个3行4列的数组,编写一段程序,求出其中的最大值,以及最大值所在的行号和列号。*/
#include<stdio.h>
int main(){
setvbuf(stdout,NULL,_IONBF,0);
int i=0,j=0;                  
int a[3][4];
int max=0;
printf("请输入数\n");
for(i=0;i<3;i++){
for(j=0;j<4;j++){
scanf("%d",&a[i][j]);
if(a[i][j]>max){
max=a[i][j];
}
}
}
for(i=0;i<3;i++){
for(j=0;j<4;j++){
if(a[i][j]==max){
printf("最大值是%d,的坐标是a[%d][%d]",max,i,j);
}
}
}


return 0;
}
===============================================================================================
5.1 作业1(30分钟)
===============================================================================================


/*定义一个包含有5个元素的int数组,并且初始化为0;
从键盘上接收5个整数,依次保存到int数组中。
要求你想办法,把数组的元素值倒序过来存储。*/
#include<stdio.h>
int main(){
int i=0;
int temp[5]={0};
int invertedOrder[5]={0};
setvbuf(stdout,NULL,_IONBF,0);
//从键盘上接收5个整数,依次保存到int数组中
for(i=0;i<5;i++){
  printf("请输入数%d\n",i+1);
  scanf("%d",&temp[i]);
  invertedOrder[4-i]=temp[i];
  }
printf("\ntemp数组原值\n");
for(i=0;i<5;i++){
printf("temp[%d]=%d ",i,temp[i]);
}
printf("\ntemp数组调换后的\n");
for(i=0;i<5;i++){
temp[i]=invertedOrder[i];
printf("temp[%d]=%d ",i,temp[i]);
}




return 0;
}
===============================================================================================
5.2作业1(40分钟)
===============================================================================================
//打印一个十行的杨辉三角
#include<stdio.h>
int main(){
int i=0,j=0;
int a[10][10]={0};
//竖排和侧面一排都为零
for(i=0;i<10;i++){
a[i][i]=1;a[i][0]=1;
}
//剩余的行和列
     for(i=2;i<10;i++)
            for(j=1;j<=i-1;j++){
            a[i][j]=a[i-1][j-1]+a[i-1][j];
            }
     //输出排列
     for(i=0;i<10;i++){
    for(j=0;j<=i;j++){
    printf("%3d",a[i][j]);
    }
printf("\n");
     }
     return 0;
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值