目录
将a[0]~a[9]变量分别存储0、1、4、9、16、25、36、49、64、81:
从键盘输入5个0~9的数,然后输出0~9中那些没有出现过的数:
第1节 逆序输出
从键盘输入5个整数,然后将其逆序输出:
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
int main()
{
int a, b, c, d, e;
scanf("%d%d%d%d%d", &a, &b, &c, &d, &e);
printf("%d %d %d %d %d\n", e, d, c, b, a);
system("pause");
return 0;
}
调试结果:
第2节 申请100个小房子怎么办
将a[0]~a[9]变量分别存储0、1、4、9、16、25、36、49、64、81:
#include <stdio.h>
#include <stdlib.h>
int main()
{
int a[10], i;
for (i = 0; i <= 9; i++)
{
a[i] = i * i;
}
for (i = 0; i <= 9; i++)
{
printf("%d ", a[i]);
}
printf("\n");
system("pause");
return 0;
}
调试结果:
第3节 100个数的逆序
使用for循环完成5个数的逆序:
#include <stdio.h>
#include <stdlib.h>
int main()
{
int a[5], i;
for (i = 0; i <= 4; i++)
{
scanf("%d", &a[i]);
}
for (i = 4; i >= 0; i--)
{
printf("%d ", a[i]);
}
system("pause");
return 0;
}
调试结果:
第4节 逻辑挑战13:陶陶摘苹果
陶陶能够摘到的苹果的数目:
#include <stdio.h>
#include <stdlib.h>
int main()
{
int h, a[10], i, sum;
for (i = 0; i <= 9; i++)
{
scanf("%d", &a[i]);
}
scanf("%d", &h);
sum = 0;
for (i = 0; i <= 9; i++)
{
if (a[i] <= h + 30)
sum++;
}
printf("%d", sum);
system("pause");
return 0;
}
调试结果:
第5节 逻辑挑战14:一个萝卜一个坑
从键盘输入5个0~9的数,然后输出0~9中那些没有出现过的数:
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
int main()
{
int a[10], i, t;
for (i = 0; i <= 9; i++)
a[i] = 0;
for (i = 1; i <= 5; i++)
{
scanf("%d", &t);
a[t] = 1;
}
for (i = 0; i <= 9; i++)
{
if (a[i] == 0)
{
printf("%d ", i);
}
}
printf("\n");
system("pause");
return 0;
}
调试结果:
将输入的5个数(0~9)按照从小到大的顺序排序:
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
int main()
{
int a[10], i, j, t;
for (i = 0; i <= 9; i++)
a[i] = 0;
for (i = 1; i <= 5; i++)
{
scanf("%d", &t);
a[t]++;
}
for (i = 0; i <= 9; i++)
for (j = 1; j <= a[i]; j++)
printf("%d ", i);
system("pause");
return 0;
}
调试结果:
输入n个0~1000的整数按照从小到大排序:
#include <stdio.h>
#include <stdlib.h>
int main()
{
int a[1001], i, j, t, n;
for (i = 0; i <= 1000; i++)
a[i] = 0;
scanf("%d", &n);
for (i = 1; i <= n; i++)
{
scanf("%d", &t);
a[t]++;
}
for (i = 0; i <= 1000; i++)
for (j = 1; j <= a[i]; j++)
printf("%d ", i);
system("pause");
return 0;
}
调试结果:
第6节 逻辑挑战15:选择排序
将5个数(1~99)从小到大排序:
#include <stdio.h>
#include <stdlib.h>
int main()
{
int a[6], i, t, j;
for (i = 1; i <= 5; i++)
scanf("%d", &a[i]);
for (i = 1; i <= 4; i++)
{
for (j = i + 1; j <= 5; j++)
{
if (a[i] > a[j])
{
t = a[i]; a[i] = a[j]; a[j] = t;
}
}
}
for (i = 1; i <= 5; i++)
printf("%d ", a[i]);
system("pause");
return 0;
}
调试结果:
第7节 二维数组
通过“两个for循环嵌套”来为这个二维数组赋值:
#include <stdio.h>
#include <stdlib.h>
int main()
{
int a[3][4], i, j, x;
x = 0;
for (i = 0; i <= 2; i++)
{
for (j = 0; j <= 3; j++)
{
a[i][j] = x;
x++;
}
}
for (i = 0; i <= 2; i++)
{
for (j = 0; j <= 3; j++)
{
printf("%d ", a[i][j]);
}
printf("\n");
}
system("pause");
return 0;
}
调试结果:
第8节 剩下的一些东西
只定义一个数组而不进行任何初始化:
#include <stdio.h>
#include <stdlib.h>
int main()
{
int a[10], i;
for (i = 0; i <= 9; i++)
printf("%d \n", a[i]);
system("pause");
return 0;
}
调试结果:
二维数组如何进行初始化:
#include <stdio.h>
#include <stdlib.h>
int main()
{
int a[3][5] = { {1, 2, 3},{4, 5} }, i, j;
for (i = 0; i <= 2; i++)
{
for (j = 0; j <= 4; j++)
{
printf("%d ", a[i][j]);
}
printf("\n");
}
system("pause");
return 0;
}
调试结果: