1.定义一个整形数组arr,长度为5,终端输入5个数,依次存入数组中。
代码展示
#include <stdio.h>
#include <string.h>
int main(int argc, const char *argv[])
{
int arr[5];
int i = 0;
for(i=0;i<5;i++){
scanf("%d",&arr[i]);
}
for(int j=0;j<5;j++){
printf("%d ",arr[j]);
}
printf("\n");
return 0;
}
运行结果:
2.定义整形数组arr,长度为5,终端输入5个数,依次存入数组中,终端再输入一个数字num,判断是否存在此数组中,在的话,打印存在,不在打印不存在。
代码展示
#include <stdio.h>
#include <string.h>
int main(int argc, const char *argv[])
{
int arr[5];
int n;
int i = 0,j = 0;
int flag = 0;
printf("请输入5个数:\n");
for(i=0;i<5;i++){
scanf("%d",&arr[i]);
}
printf("请输入需要查找的数:\n");
scanf("%d",&n);
for(j=0;j<5;j++){
if(arr[j]==n){
flag =1;
break;
}
}
if(flag == 1){
printf("存在:%d\n",n);
}else{
printf("不存在\n");
}
return 0;
}
运行结果:
3.定义整形数组arr,长度为len,终端输入len个数,依次存入数组中,求平均值、最小值、最大值、和。
代码展示
#include <stdio.h>
#include <string.h>
int main(int argc, const char *argv[])
{
int len;
int arr[len];
int i = 0,j = 0;
int sum = 0;
float avg = 0;
printf("请输入数组数据个数:\n");
scanf("%d",&len);
printf("请输入%d个数:\n",len);
for(i=0;i<len;i++){
scanf("%d",&arr[i]);
}
int min = 0,max = 0;
for(j=0;j<len;j++){
sum += arr[j];
if(arr[min]>arr[j]){
min = j;
}
if(arr[max]<arr[j]){
max = j;
}
}
avg = (float)sum/len;
printf("平均值为:%.2f,最小值:%d,最大值:%d,和:%d\n",avg,arr[min],arr[max],sum);
return 0;
}
运行结果:
4.有 1、2、3、4个数字,能组成多少个互不相同且无重复的三位? 都是多少?
代码展示
#include <stdio.h>
#include <string.h>
int main(int argc, const char *argv[])
{
int i,j,k,m;
printf("由1,2,3,4组成的3位数有:\n");
for(i=1;i<5;i++){
for(j=1;j<5;j++){
if(j!=i){
for(k=1;k<5;k++){
if(k!=j && k!=i){
printf("%d ",i*100+j*10+k);
}
}
}
}
}
printf("\n");
return 0;
}
运行结果:
5.百钱买百鸡问题:我国古代数学家张丘建在《算经》一书中曾提出过著名的 “百钱买百鸡” 问题,该问题叙述如下:鸡翁一,值钱五;鸡母一,值钱三;鸡雏三,值钱一;百钱买百鸡,则翁、母、雏各几何?
代码展示
#include <stdio.h>
#include <string.h>
int main(int argc, const char *argv[])
{
int i,j,k;
int totalji =100;
for(i=0;i<=totalji/5;i++){
for(j=0;j<=totalji/3;j++){
k = 100-i-j;
if((i*5+j*3+k/3) == 100){
printf("公鸡:%d,母鸡:%d,小鸡:%d\n",i,j,k);
}
}
}
return 0;
}
运行结果:
6.数组的逆置
示例: int arr[4] = {1,2,3,4}; 输出 4,3,2,1;
代码展示
#include <stdio.h>
#include <string.h>
int main(int argc, const char *argv[])
{
int n;
printf("请输入数组的长度:");
scanf("%d",&n);
int a[n];
printf("请输入长度为%d的数组:\n",n);
int i=0;
for(i=0;i<n;i++){
scanf("%d",&a[i]);
}
printf("逆置数组:");
for(i=n-1;i>=0;i--){
printf("%d ",a[i]);
}
printf("\n");
return 0;
}