实验报告(4)
实验目的:
1、 掌握C语言的循环语句。
2、 掌握C语言循环嵌套的使用方法。
1.编写程序,输出下图所示图形
代码
#include <stdio.h>
int main()
{
char ch = 'A'; //定义开始字母
int a, b; //定义两个要循环的变量
int n = 5; // 定义一个n方便修改
for (b = 1; b <= n; b++) //Outer for 控制行
{
for (a = 1; a <= b; a++) //Inner for 控制列
{
printf("%c", ch); //打印字符
ch++; //增加列
}
printf("\n"); //Print enter
}
return 0;
}
2. 倒序输出乘法口诀表
代码
#include <stdio.h>
int main()
{
int i, j;
for (i = 1; i <= 9; i++) //Outer for
{
for (j = 1; j <= 9; j++) //Inner for
{
if (j >= i)
printf("%d*%d=%2d ", i, j, i * j);
}
printf("\n");
}
return 0;
}
3. 输出所有三位的水仙花数
水仙花数:指一个 3 位数,它的每个位上的数字的 3次幂之和等于它本身。例如:1^3 + 5^3+ 3^3 = 153。
代码
#include <stdio.h>
int main()
{
int num;
int a, b, c;
printf("水仙花数为:");
for (num = 100; num <= 999; num++)
{
a = num / 100;
b = num / 10 % 10;
c = num % 10;
if (num == a * a * a + b * b * b + c * c * c)
printf("%d ", num);
}
}
实验报告(5)
实验目的:
1、 掌握一维数组的定义、引用、初始化。
2、 熟练掌握一维数组和循环的搭配使用。
3、 掌握二维数组的定义、引用、初始化。
4、 熟练掌握二维数组和循环的搭配使用。
5、 掌握字符数组的定义、引用、初始化。
6、 熟练掌握字符数组和循环的搭配使用。
数组计算
输入10个元素,组成一维数组。求该数组的第五个数、最大值、最小值及总和
代码
#include <stdio.h>
int main()
{
int a[10];
printf("Please Enter 10 Number:\n");
for (int i = 0; i < 10; i++)
{
/* code */
scanf("%d", &a[i]);
}
// 定义求和,最大值和最小值容器
int max = a[0], min = a[0];
int sum = 0;
//求最大值循环
for (int i = 0; i < 10; i++)
{
/* 比较大小 */
if (a[i] > max)
{
/* 最大值赋给a[i] */
max = a[i];
}
}
// 求最小值循环
for (int i = 0; i < 10; i++)
{
/* 比较大小 */
if (a[i] < min)
{
/* 最小值赋给a[i] */
min = a[i];
}
}
//求和
for (int i = 0; i < 10; i++)
{
/* 求值结果赋给a[i] */
sum += a[i];
}
printf("\n该数组的第五个元素为:%d\n", a[4]);
printf("该数组最大元素为: %d\n", max);
printf("该数组最小元素为: %d\n", min);
printf("该数组的和为:%d", sum);
}
矩阵应用
定义一个4*4的二维数组并输入16个整型数据。按矩阵输出这16个数据,并输出主对角线元素(从左上角到右下角这一斜线上的元素)及这些元素的和。
代码
#include <stdio.h>
int main()
{
printf("请输入16个整型数据:\n");
// 定义四行四列的二维数组,sum用于接收对角线元素的和
int a[4][4], sum = 0;// sum要参与运算就得赋予初值
//下面两个循环控制该矩阵为四行四列
for (int i = 0; i < 4; i++)
for (int j = 0; j < 4; j++)
// 接收用户输入的16个数据
scanf("%d", &a[i][j]);
printf("\n该数组矩阵为:\n");
//找出主对角线元素
for (int i = 0; i < 4; i++)
for (int j = 0; j < 4; j++)
{
// %-3d意思是在输出项后面加上三个空格
printf("%-3d ", a[i][j]);
if (j == 3)
printf("\n");
}
printf("\n主对角线的元素值分别为: ");
//求主对角线元素的和
for (int i = 0; i < 4; i++)
for (int j = 0; j < 4; j++)
if (i == j)
{
printf("%d ", a[i][j]);
sum += a[i][j];
}
printf("\n主对角线的元素和为: %d", sum);
return 0;
}
字符数组
输入十个字符,然后将输入的字符输出显示,统计其中大写字母的个数,并将结果输出。
代码
#include <stdio.h>
int main()
{
char a[10];
int sum = 0;
printf("请输入10个字符:");
for (int i = 0; i < 10; i++)
{
scanf("%c", &a[i]);
// A-Z 的Ascii码(65 - 90)
// 所以大于等于65,小于等于90的都是大写字母
if (a[i] >= 65 && a[i] <= 90)
{
sum++;
}
}
printf("输出显示为:\n%s", a);
printf("大写字母有 %d 个", sum);
return 0;
}