首页 > 代码库 > C语言复习——一维数组部分程序
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; }
运行结果:
C语言复习——一维数组部分程序
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。