C语言复习——一维数组部分程序

1.求一个数组中最值和最值所在数组中的下标。

程序如下:

#include<stdio.h>
#pragma warning(disable:4996);//在VS中编译时由于使用了scanf函数警告不安全,无法通过,此语句是为了消除这个警告
int main()
{
	int a[5];
	int max,min;
	int index1,index2;
	printf("请输入数组元素值:");
	for (int j= 0; j<5; j++)
	{
		scanf("%d",&a[j]);
	}

	max = a[0];
	min = a[0];
	index1 = 0;
	index2 = 0;

	for (int i = 1; i < 5; i++)
	{
		//找出最大值及最大值下标
		if (max < a[i])
		{
			max = a[i];
			index1 = i;
		}	

		//找出最小值及最小值下标
		if (min>a[i])
		{
			min = a[i];
			index2 = i;
		}
	}
	printf("最大值为:%d\n", max);
	printf("最大值下标为:%d\n", index1);
	printf("最小值为:%d\n", min);
	printf("最小值下标为:%d\n", index2);

	return 0;

}

  运行结果:

2.数组逆置问题

如图:

#include<stdio.h>
#pragma warning(disable:4996);
int main()
{
	int a[5];
	int max=4,min=0;
	printf("请输入数组元素值:");
	for (int j= 0; j<5; j++)
	{
		scanf("%d",&a[j]);
	}

	while (max > min)//使用while循环
	{
		int t;
		t = a[min];
		a[min] = a[max];
		a[max] = t;
		max--;
		min++;
	}

	printf("数组逆置后为:");
	for (int i = 0; i < 5; i++)
	{
		printf("%d", a[i]);
	}
	printf("\n");

	return 0;

}

或者也可以采用以下代码实现:

#include<stdio.h>
#pragma warning(disable:4996);
int main()
{
	int a[5];
	printf("请输入数组元素值:");
	for (int j= 0; j<5; j++)
	{
		scanf("%d",&a[j]);
	}

	for(int i=0;i<2;i++)
		{
			int t;
			t = a[i];
			a[i] = a[4-i];
			a[4-i] = t;
		}

	printf("数组逆置后为:");
	for (int i = 0; i < 5; i++)
	{
		printf("%d", a[i]);
	}
	printf("\n");

	return 0;

}

运行结果:

3.水仙花数问题

   描述:若一个n位数的数值等于每一位上数字的n次方之和,则这个数为水仙花数。

如:153=1*1*1+5*5*5+3*3*3

问题:求100到999之间的所有水仙花数。

代码实现:

#include<stdio.h>
#pragma warning(disable:4996);
int main()
{
	int n1, n2, n3;

	printf("100至999之间的水仙花数为:\n");
	for (int num = 100; num < 1000; num++)
	{
		n1 = num / 100;//得到百位上的数字
		n2 = (num % 100) / 10;//得到十位上的数字
		n3 = num - n1 * 100 - n2 * 10;//得到个位上的数字
		if ((n1*n1*n1 + n2*n2*n2 + n3*n3*n3) == num)
		{
			printf("%d  ",num);
		}
	}

	printf("\n");
	return 0;

}

  运行结果:

4.求3到100之间的所有素数(除了1和自身外不能被其他整数整除的整数)

代码实现:

#include<stdio.h>
#pragma warning(disable:4996);
int main()
{
	printf("3至100之间的素数为:\n");
	for (int num = 3; num < 100; num++)
	{
		int flag = 0;//素数标志
		for (int i = 2; i < num; i++)
		{
			if ((num%i)== 0)//说明不是素数
				flag = 1;
			break;
		}

		if (flag == 0)
		{
			printf("%d  ", num);
		}
	}

	printf("\n");
	return 0;

}

运行结果:

时间: 2024-08-12 19:03:21

C语言复习——一维数组部分程序的相关文章

黑马程序员——C语言基础---一维数组详解

------<a href="http://www.itheima.com" target="blank">Java培训.Android培训.iOS培训..Net培训</a>.期待与您交流! ------- 1.数组:相同类型的若干个数组组成一个有序的集合2.一维数组:      数组的每个元素都是基本数据类型的变量      数组的每个元素都不是一个数组3.一维数组的定义       数组类型  数组名[数组长度];        int

c语言操作一维数组-3

C语言选择题#includemain(){double a[15],k;k=fun(a);} 则以下选项中错误的fun函数首部是 ( D)A.double fun(double a[15]) B.double fun(double *a)C.double fun(double a[]) D.double fun(double a)------------------------------------------------ http://blog.csdn.net/jin13277480598

C语言之一维数组与指针

一维数组: 假如有一维数组如下: char a[3]; 该数组有3个元素,数据类型为char型,地址空间如下. 如果想访问数据,直接使用a[0].a[1].a[2]取出相应地址空间的值即可 一级指针: 指针即地址,char *b即定义一个指向char型数据的指针,int *b即定义一个指向int型数据的指针. int a=5; int *b=&a; 例子解析:定义一个int型数据a,值为5,定义一个指向int型的指针b,b的值为a的地址.使用*b就是b指向地址的值.地址空间如下. 二级指针: 二

【学习ios之路:C语言】一维数组,数组排序,字符数组

1.数组 数组,快速定义多个变量. 数组定义: 数据类型 数组名[数组元素的个数] = {值1, 值2, 值 3}; 数组所占存储空间大小 = 数组元素个数 * 每个元素所占的存储空间大小. %lu  unsigned long 无符号的长整型. 无符号 >=0 sizeof 存储大小值  //用来计算一个变量,类型,以及数组所占存储空间的大小. int a[5] = { 2, 7, 4, 3, 6 };  printf("%lu\n", sizeof(arr)); //5 in

C语言用一维数组打印杨辉三角(原:无意中想到)

//求前10行的数 1 int a[11] = { 1 }; 2 a[0] = 1, a[1] = 1; 3 int i, j,m; 4 for (i = 2; i <= 11; i++) //2-11 输出10行 5 { 6 for (j = i - 1; j > 1; j--) //关键在这句,倒着求 7 { 8 a[j] = a[j] + a[j - 1]; 9 printf("%5d", a[j]); 10 } 11 printf("%5d\n"

13-黑马程序员------C 语言学习笔记--- C语言一维数组

黑马程序员------<a href="http://www.itheima.com" target="blank">Java培训.Android培训.iOS培训..Net培训</a>.期待与您交流! ------- 四 简单构造数据类型 一 一维数组 01 一维数组的定义: 类型标识符 数组名[常量表达式]; 如:int a[10];其表示定义了一个名为a的整型数组,该数组共有10个元素,即10个整型变量,可以储存10个整型数据. 02 类

C语言一维数组初步学习笔记

数组 可以存储一组或者多组数值的变量,里面包含多个元素,数组的每个成员都是一个数组元素. 一维数组 定义:类型 数组名[常量表达式] = {值1, 值2, 值3…}; ? 1 2 3 4 int a[3] = {0, 1, 2}; float f[2] = {1.2, 2.3, 3.14}; char str[] = {'h', 'e', 'l', 'l', 'o'}; chat str1 = "iPhone";//这也是定义字符数组的方法,字符数组后面会详细讲解,这里先了解一下 当数

【C语言】-指向一维数组元素的指针

本文目录 一.用指针指向一维数组的元素 二.用指针遍历数组元素 三.指针与数组的总结 四.数组.指针与函数参数 说明:这个C语言专题,是学习iOS开发的前奏.也为了让有面向对象语言开发经验的程序员,能够快速上手C语言.如果你还没有编程经验,或者对C语言.iOS开发不感兴趣,请忽略 前面我们已经学习了指针,如果指针存储了某个变量的地址,我们就可以说指针指向这个变量.数组及其数组元素都占有存储空间,都有自己的地址,因此指针变量可以指向整个数组,也可以指向数组元素. 回到顶部 一.用指针指向一维数组的

C语言 12-指向一维数组元素的指针

本文目录 一.用指针指向一维数组的元素 二.用指针遍历数组元素 三.指针与数组的总结 四.数组.指针与函数参数 说明:这个C语言专题,是学习iOS开发的前奏.也为了让有面向对象语言开发经验的程序员,能够快速上手C语言.如果你还没有编程经验,或者对C语言.iOS开发不感兴趣,请忽略. 前面我们已经学习了指针,如果指针存储了某个变量的地址,我们就可以说指针指向这个变量.数组及其数组元素都占有存储空间,都有自己的地址,因此指针变量可以指向整个数组,也可以指向数组元素. 一.用指针指向一维数组的元素 1