来自网络,联系侵删
92 字
1 分钟
数组与排序
一、一维数组
1.1 一维数组的输入输出
#include <stdio.h>
int main() { int arr[10]; int i;
printf("请输入10个整数:\n"); for(i = 0; i < 10; i++) { scanf("%d", &arr[i]); }
printf("数组元素为:\n"); for(i = 0; i < 10; i++) { printf("%d ", arr[i]); } printf("\n");
return 0;}1.2 课前测
#include <stdio.h>
int main() { int a[5], i, sum = 0; for(i = 0; i < 5; i++) { scanf("%d", &a[i]); sum += a[i]; } printf("sum=%d\n", sum); return 0;}1.3 统计数字的数量
#include <stdio.h>
int main() { int a[10], i, count = 0; for(i = 0; i < 10; i++) { scanf("%d", &a[i]); if(a[i] > 0) count++; } printf("正数的个数为:%d\n", count); return 0;}1.4 军事训练等级考评
#include <stdio.h>
int main() { int score[10], i, level[4] = {0}; for(i = 0; i < 10; i++) { scanf("%d", &score[i]); if(score[i] >= 90) level[0]++; else if(score[i] >= 80) level[1]++; else if(score[i] >= 60) level[2]++; else level[3]++; } printf("优秀:%d,良好:%d,及格:%d,不及格:%d\n", level[0], level[1], level[2], level[3]); return 0;}二、二维数组
2.1 二维数组基础操作
#include<stdio.h>#define M 3#define N 4
void InputArray(int a[][N], int m, int n){ int i, j; for(i = 0; i < m; i++) { for(j = 0; j < n; j++) { scanf("%d", &a[i][j]); } }}
void PrintArray(int a[][N], int m, int n){ int i, j; for(i = 0; i < m; i++) { for(j = 0; j < n; j++) { printf("%d ", a[i][j]); } printf("\n"); }}
int main(){ int a[M][N] = {1,2,3,4,5,6,7,8,9,10,11,12}; InputArray(a, M, N); PrintArray(a, M, N); return 0;}2.2 字符串输入
#include <stdio.h>
int main() { char str[100]; printf("请输入字符串:\n"); scanf("%s", str); printf("输入的字符串是:%s\n", str); return 0;}2.3 获取数字字符
#include <stdio.h>
int main() { char str[100]; int i = 0; gets(str); while(str[i] != '\0') { if(str[i] >= '0' && str[i] <= '9') { printf("%c ", str[i]); } i++; } printf("\n"); return 0;}三、排序算法
3.1 选择排序
#include <stdio.h>#define MAXN 10
int main(){ int i, k, n, a[MAXN] = { 9,7,6,6,3,2,8,1,8,4 }; for (int j = 0; j < 9; j++) { for (int i = 0; i < 9 - j; i++) { if (a[i] < a[i + 1]) { int sign = a[i]; a[i] = a[i + 1]; a[i + 1] = sign; } } }
for (i = 0; i < MAXN; i++) printf("%d ", a[i]);
return 0;}3.2 冒泡排序(交换排序)
#include <stdio.h>
int main() { int a[10] = { 2,4,2,57,64,23,45,67,89,12 }; int i, j, flag; for (i = 0; i < 9; i++) { for (j = 0; j < 9 - i; j++) { if (a[j] > a[j + 1]) { flag = a[j]; a[j] = a[j + 1]; a[j + 1] = flag; } } } for (i = 0; i < 10; i++) printf("%d ", a[i]); return 0;}3.3 杨辉三角
#include<stdio.h>#define N 30
int main(){ int a[N][N]; int n, i, j;
printf("请输入杨辉三角的行数:"); scanf("%d", &n);
for(i = 0; i < n; i++) { a[i][0] = 1; a[i][i] = 1; for(j = 1; j < i; j++) { a[i][j] = a[i-1][j-1] + a[i-1][j]; } }
for(i = 0; i < n; i++) { for(j = 0; j <= i; j++) { printf("%d ", a[i][j]); } printf("\n"); }
return 0;} 分享
如果这篇文章对你有帮助,欢迎分享给更多人!
部分信息可能已经过时
相关文章 智能推荐












