啦啦!记录学校C语言作业
Posted 是七喜呀!
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了啦啦!记录学校C语言作业相关的知识,希望对你有一定的参考价值。
一级目录
二级目录
三级目录
第四章
第五章 数组
1.使用for循环输入10个整数存入一维数组a中,统计奇数和偶数的个数。
#include<stdio.h>
int main()
{
int i;
int a[10];
int count1 = 0,count2 = 0;
//count1表示记录偶数个数
for (i = 0; i < 10; i++)
{
scanf("%d",&a[i]);
if (a[i] % 2 == 0)
{
//当然你也可以在这个for循环外面再用一个for进行统计
//奇数和偶数的个数
count1++;
}
else
count2++;
}
//输出
printf("奇数有%d个\\n偶数有%d个",count2,count1);
return 0;
}
2.使用for循环输入10个整数存入一维数组a中,找出其中的最大数及其下标位置、最小数及其下标位置。若存在相同的则报告首次出现的最大数或最小数。
#include<stdio.h>
int main()
{
int a[10];
int i;
int max,min,maxr,minc;//定义变量
for (i = 0; i < 10; i++)
{
scanf("%d",&a[i]);
}
max = a[0];
min = a[0];
maxr = 0;
minc = 0;//当然你也可以连等于max = min = a[0]; maxr = minc = 0;
for (i = 0; i < 10; i++)
{
if (max < a[i])//最大值不是我们假设的数字
{
max = a[i];
maxr = i;
}
if (min > a[i])//这边同理
{
min = a[i];
minc = i;
}
}
//输出数据
printf("最大数=%d 下标=%d\\n最小数=%d 下标=%d",max,maxr,min,minc);
return 0;
}
4.使用for循环输入10个整数存入一维数组a中,查找指定数是否存在(输出“存在”或“不存在”)。
#include<stdio.h>
int main()
{
int i;
int a[10];
int n;
for (i = 0; i < 10; i++)
{
scanf("%d",&a[i]);
}//先录入数组中的元素
scanf("%d",&n);//这边录入n值
for (i = 0; i < 10; i++)//
{
if (n == a[i])
{
printf("存在");
return 0;//结束函数
}
}
//如果上面的for循环找不到n那么这边直接打印不存在
//此时i = 10
printf("不存在");
return 0;
}
5.使用for循环实现: 将裴波那契数列的前12项存入一维数组a中并以4个一行的形式输出,每个数据占4个位置且右对齐。
#include<stdio.h>
int main()
{
int a[12] = { 1,1,2,3,5,8,13,21,34,55,89,144};
int i;
int count = 0;//计数
for (i = 0 ; i < 12; i++)
{
printf("%4d",a[i]);
count++;
if (count % 4 == 0)//能被四整除就换行
printf("\\n");
}
return 0;
}
6.使用for循环实现: 输入10个整数存入一维数组a中,将数组中的数据循环左移一个位置后输出,每个数据后跟一个空格。
#include<stdio.h>
int main()
{
int a[10];
int i;
int tmp;
//录入数据
for (i = 0; i < 10; i++)
{
scanf("%d",&a[i]);
}
tmp = a[0];//记录数组第一个元素
for (i = 1; i < 10; i++)
{
a[i - 1] = a[i];
}
a[9] = tmp;//改变最后一个元素的值
for (i = 0; i < 10; i++)
{
printf("%d ",a[i]);
}
return 0;
}
7.使用for循环实现: 输入10个整数存入一维数组a中,将数组中的数据循环右移一个位置后输出(每个数据后跟一个空格)。
#include<stdio.h>
int main()
{
int a[10];
int i;
int tmp;
//录入数据
for (i = 0; i < 10; i++)
{
scanf("%d",&a[i]);
}
tmp = a[9];//记录数组最后一个元素
for (i = 9; i > 0; i--)
{
a[i] = a[i - 1];
}
a[0] = tmp;//改变第一个元素的值
for (i = 0; i < 10; i++)
{
printf("%d ",a[i]);
}
return 0;
}
8.使用for循环实现: 输入10个成绩模拟10位选手的最后得分,输出各选手的名次(每个数据后跟一个空格)。
#include<stdio.h>
int main()
{
int a[10];
int b[10] = { 1,1,1,1,1,1,1,1,1,1};//建立一个数组,用空间换取时间
int i,j;
//录入数据
for (i = 0; i < 10; i++)
{
scanf("%d",&a[i]);
}
for (i = 0; i < 10; i++)
{
for (j = 0; j < 10; j++)
{
if (a[i] < a[j])
b[i]++;//名次改变
}
}
for (i = 0; i < 10; i++)
{
printf("%d ",b[i]);
}
return 0;
}
9.使用for循环实现: 输入10个整数存入一维数组a中,将数组中的元素升序排序后输出(每个数据后跟一个空格)。
//法一:冒泡排序
#include<stdio.h>
int main()
{
int a[10];
int i,j;
int tmp;
//录入数据
for (i = 0; i < 10; i++)
{
scanf("%d",&a[i]);
}
for (i = 0; i < 9; i++)//趟数
{
for (j = 0; j < 9 - i; j++)//交换对数
{
if ( a[j] > a[j + 1])
{
//交换
tmp = a[j];
a[j] = a[j + 1];
a[j + 1] = tmp;
}
}
}
for (i = 0; i < 10; i++)
{
printf("%d ",a[i]);
}
return 0;
}
```c
```c
//法二:通过试错改正思路
#include<stdio.h>
int main()
{
int i,j;
int a[10];
for (i = 0 ; i < 10; i++)
{
scanf("%d",&a[i]);
}//录入数据
for(i = 0; i < 10; i++)//2
{
for (j = 0; j < 9; j++)
{
if (a[j] > a[j + 1])//
{
int tmp = a[j + 1];
a[j + 1] = a[j];
a[j] = tmp;
}
}
}
//输出数据
for(i = 0; i < 10; i++)
{
printf("%d ",a[i]);
}
return 0;
}
10.使用for循环实现: 输入16个整数组成4*4的矩阵,输出矩阵的所有元素之和。
#include<stdio.h>
int main()
{
int a[4][4];
int sum = 0;
//第一个中括号代表的为行数,第二个代表的为列数,其中第一个括号中的内容可以省略
int i,j;
for (i = 0 ;i < 4; i++)//控制行
{
for (j = 0; j < 4; j++)//控制列
{
scanf("%d",&a[i][j]);
}
}
//求和部分
for (i = 0 ;i < 4; i++)
{
for (j = 0; j < 4; j++)
{
sum += a[i][j];//等价于sum = sum + a[i][j];
}
}
//输出结果部分
printf("%d",sum);
return 0;
}
15.相信看了16题你应该就有思路了
16.使用for循环实现: 输入16个整数组成4*4的矩阵,输出最小值及其所在位置。若有多个最小值则报告首次出现的位置。
#include<stdio.h>
int main()
{
int a[4][4];
int i,j;
int min,row,col;
for (i = 0; i < 4; i++)
{
for (j = 0; j < 4; j++)
{
scanf("%d",&a[i][j]);
}
}
min = a[0][0];
row = col = 0;
for (i = 0; i < 4; i++)
{
for (j = 0; j < 4; j++)
{
if (min > a[i][j])//我们假设的不是最小值,那改变最小值
{
min = a[i][j];
row = i;
col = j;
}
}
}
//输出
printf("第%d行第%d列\\n%d",row,col,min);
return 0;
}
以上是关于啦啦!记录学校C语言作业的主要内容,如果未能解决你的问题,请参考以下文章