c 语言的例题 数组的 经典题

数组的应用:

1.依次按照下面要求完成操作:
声明一个包含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>
#include <stdlib.h>
int main(void) {
int chuck[6] = { 2, 4, 6, 8, 10, 12 };
  int i = 0;
  int even;
  chuck[4] = 100;
  printf("6个偶数元素为:\n");
  for (i = 0; i < 6; i++) {
  printf("%d,", chuck[i]);

  }
  printf("\n");
  printf("第一个元素和最后一个元素的和为:\n");
  even = chuck[0] + chuck[5];
  printf("%d\n", even);
  printf("chuck数组中第3个元素的值为:\n");
  printf("%d\n", chuck[2]);
  printf("chuck数组中第5个元素的值为:\n");
  printf("%d\n", chuck[4]);
  printf("倒序输出为:\n");
  for (i = 5; i >= 0; i--) {
  printf("%d ", chuck[i]);
  }
  printf("\n");
  int dipsea[6] = { 0, 0, 0, 0, 0, 0 };
  printf("dipsea数组所有元素的值为:\n");
  for (i = 0; i < 6; i++) {
  dipsea[i] = chuck[i];
  printf("%d ", dipsea[i]);
  }
return EXIT_SUCCESS;
}

2.编写一个程序,从键盘上接收10个整数,将它们保存到一个数组里。在输入完成后输出用户刚刚输入的

10个整数。
从键盘上再接收一个整数,将它保存到int变量number里。
从刚才第一次接收的10个整数中,查找是否有整数number,如果有则输出它在数组中的位置,否则输出没

有找到(没有找到是指数组中没有一个元素的值与number值相等,则输出没有找到)。
#include <stdio.h>
#include <stdlib.h>
int main(void) {

int arr[10];
   int i,number;
   printf("请输入10个整数:");
   fflush(stdout);

   for(i=0;i<10;i++){
   scanf("%d",&arr[i]);
   }
   printf("数组元素为:\n");
   for(i=0;i<10;i++){
   printf("%d ",arr[i]);
   }
   printf("\n");
   printf("请在输入一个整数:\n");
    fflush(stdout);
    scanf("%d", &number);
    for (i = 0; i < 10; i++)
     if (arr[i] == number)
     break;
     if (i >= 10){
     printf("没有找到!\n");
     }
     else{
     printf("%d在数组中得位置是:arr[%d]!", arr[i], i);
     }


return EXIT_SUCCESS;
}

3.定义一个数组days,将其初始化为今年每月的天数,编写一段程序,将每月的天数打印出来。打印形式

如下: 
   Month 1 has 31days.

#include <stdio.h>
#include <stdlib.h>
#define MONTHS 12
int main(void) {

int days[MONTHS] = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };
 int i;
 for (i = 0; i < MONTHS; i++) {
  printf("MONTH %d has %d days.\n", i + 1, days[i]);
 }

return EXIT_SUCCESS;
}

4.编写一段程序,要求定义一个含有5个元素的数组,实现数组接收键盘输入的数字,输入完毕后打印数组

元素,并比较得出数组中元素的最大值和最小值,并输出。
#include <stdio.h>
#include <stdlib.h>
int main(void) {

int arr[5];
  int i,max,min;
  printf("请输入五个整数:");
  fflush(stdout);

  for(i=0;i<5;i++){
  scanf("%d",&arr[i]);
  }
  printf("数组元素为:\n");
  for(i=0;i<5;i++){
  printf("%d ",arr[i]);
  }
  max=min=arr[0];
  for(i=0;i<=4;i++){
  if(max<arr[i]){
  max=arr[i];
  }else if(min>arr[i]){
  min=arr[i];
  }
  }
  printf("\n");
  printf("最大值为:%d\n最小值为:%d\n",max,min);


return EXIT_SUCCESS;
}

5.定义一个由整数组成的数组,求出其中奇数的个数和偶数的个数,并打印。
#include <stdio.h>
#include <stdlib.h>
int main(void) {


int arr[]={1,2,3,4,5,6,7};
int i,js=0,os=0;
int len =sizeof(arr)/sizeof(int);
printf("数组元素为:\n");
for(i=0;i<len;i++){
 if(arr[i]%2==0){
  os+=1;
 }else{
  js+=1;
 }
 printf("%d ",arr[i]);
}
printf("\n");
printf("偶数个数为:%d\n奇数个数为:%d",os,js);

return EXIT_SUCCESS;
}

6.定义一个int型的一维数组,包含10个元素,分别赋值为1~10, 然后将数组中的元素都向前移一个位置

,即a[0]=a[1],a[1]=a[2],…最后一个元素的值是原来第一个元素的值,然后输出这个数组。
#include <stdio.h>
#include <stdlib.h>
int main(void) {


int arr[]={1,2,3,4,5,6,7,8,9,10};
  int i,temp;
  printf("原数组为:\n");
  for(i=0;i<10;i++){
  printf("%d ",arr[i]);
  }
  printf("\n");
  temp=arr[0];
  for(i=0;i<9;i++){
  arr[i]=arr[i+1];
  }
  arr[i]=temp;
  printf("向前移动后的数组为:\n");
  for(i=0;i<10;i++){
  printf("%d ",arr[i]);
  }

return EXIT_SUCCESS;
}

7.有一个3行4列的数组,编写一段程序,求出其中的最大值,以及最大值所在的行号和列号。
#include <stdio.h>
#include <stdlib.h>
int main(void) {

int a[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}};
  int i,j,c,d,max;
  max=a[0][0];
  //循环行数
  for(i=0;i<=2;i++){
  //循环列数
  for(j=0;j<=3;j++){
  if(max<=a[i][j]){
  max=a[i][j];
  c=i;
  d=j;
  }
  }
  }
  printf("最大数为:%d\n行号为:%d\n列号为:%d",max,c+1,d+1);//下标从0开始
 


return EXIT_SUCCESS;
}

8.定义一个包含有5个元素的int数组,并且初始化为0;
从键盘上接收5个整数,依次保存到int数组中。
要求你想办法,把数组的元素值倒序过来存储。
#include <stdio.h>
#include <stdlib.h>
int main(void) {

int arr[5]={0,0,0,0,0};
  int i;
  printf("请输入五个整数:");
  fflush(stdout);

  for(i=0;i<5;i++){
  scanf("%d",&arr[i]);
  }
  printf("五个整数逆序输出为:\n");
  for(i=4;i>=0;i--){
  printf("%d ",arr[i]);
  }


return EXIT_SUCCESS;
}

9.

打印一个十行的杨辉三角,打印效果如图所示:

 

 

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


 int i, j, a[11][11];
 for (i = 1; i < 11; i++) {/*for循环i的范围从1到10*/
  a[i][i] = 1;/*对角线元素全为1*/
  a[i][1] = 1; /*每行第一列元素全为1*/ }
 printf("打印图形如下:\n");
 for (i = 3; i < 11; i++)/*for循环范围从第3行开始到第10行*/
  for (j = 2; j <= i - 1; j++)/*for循环范围从第2列开始到该行行数减一列为止*/
   a[i][j] = a[i - 1][j - 1] + a[i - 1][j];/*第i行j列等于第i-1行j-1列的

值加上第i-1行j列的值*/


 for (i = 1; i < 11; i++) {
  for (j = 1; j <= i; j++)
   printf("%-5d", a[i][j]);/*通过上面两次for循环将二维数组a中元素输出*/
   printf("\n");/*每输出完一行进行一次换行*/

 }

return EXIT_SUCCESS;
}

1.数字排列 2.奖金分配问 3.已知条件求解整数 4.输入日期判断第几天 5.输入整数进行排序 6.用*号显示字母C的图案 7.显示特殊图案 8.打印九九口诀 9.输出国际象棋棋盘 10.打印楼梯并按条件打印笑脸 11.经典兔子问 12.判断素数 13.水仙花数问 14.正整数分解质因数 15.学习成绩划分 16.正整数求其最大公约数和最小公倍数 17.统计英文字母/空格/数字个数 18.求s=a+aa+aaa+aa...a的值 19.求解"完数" 20.球体自由落下物理问 21.猴子吃桃问 22.乒乓球比赛抽签问 23.打印菱形图案 24.分数数列求和 25.求1+2!+3!+...+20!的和 26.利用递归方法求5! 27.将输入字符以相反顺序打印 28.岁数问 29.求解正整数位数 30.判断回文数 31.星期几猜测游戏 32.改变文本颜色 33.学习gotoxy()与clrscr()函数 34.练习函数调用 35.设置文本颜色 36.求100之内的素数 37.对10个数进行排序 38.求3*3矩阵对角线元素之和 39.数字插入数组重新排序 40.将一个数组逆序输出 41.static定义静态变量用法 42.使用auto定义变量用法 43.使用static的另一用法 44.使用external的用法 45.使用register定义变量方法 46.宏#define命令练习(1) 47.宏#define命令练习(2) 48.宏#define命令练习(3) 49.#if #ifdef和#ifndef的综合应用 50.#include 的应用练习 51.学习使用按位与 & 52.学习使用按位或 | 53.学习使用按位异或 ^ 54.取一个整数从右端开始的4~7位。 55.学习使用按位取反~ 56.用circle画圆形 57.学用line画直线 58.用rectangle画方形 59.画图综合例子 60.画图综合例子2 61.打印杨辉三角形 62.学习putpixel画点 63.画椭圆ellipse 64.利用ellipse and rectangle画图 65.画个最优美的图案 66.输入3个数字按大小顺序输出 67.输入数组交换元素重新输出 68.多个整数后移位置问 69.圆圈报数问 70.计算一个字符串长度 71.编写输入/输出函数 72.创建链表 73.反向输出链表 74.连接两个链表 75.算一道简单目 76.调用函数求1/2+1/4+...+1/n 77.填空练习(指向指针的指针) 78.找到年龄最大的人 79.字符串排序 80.海滩猴子分桃 81.已知公式条件求数字 82.八进制转换为十进制 83.求0-7所能组成的奇数个数 84.由两个素数之和表示的偶数 85.判断一个素数能被几个9整除 86.两个字符串连接程序 87.结构体变量传递 88.读取数字的整数值并打印出该值个数的* 89.数据加密 90.专升本一 91.时间函数举例1 92.时间函数举例2 93.时间函数举例3 94.一个猜数游戏 95.家庭财务管理小程序 96.计算字符串中子串出现的次数 97.输入字符并保存到磁盘 98.字符串转换成大写字母并输出保存 99.文件操作应用1 100.文件操作应用2
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值