- goto语句并不是结构化编程模式的一部分,这意味着没有goto语句能写出更完美的c程序
- 迭代计算正弦级数
#include<stdio.h>
#include<math.h>
/*
每一项都与前一项有关
*/
int main()
{
int n, i, j = 1;
double x, r, t, sum;
printf("input number of iterations:");
scanf_s("%d", &n);
printf("input the value of angle:");
scanf_s("%lf", &x);
//将角度转化为弧度
r = (x * 3.14159) / 180;
//用变量t保存级数第1项
t = r;
//目前的sum和
sum = r;
i = 2;//第二项分母
//循环计算第2项到第n项
printf("iteration=1,sum=%lf\n", sum);
for (j = 2; j <= n; j++)
{
int k = i * (i + 1);
t = (-t) * r * r / (k);//迭代
sum += t;
printf("iteration=%d,sum=%lf\n", j, sum);//打印每次的结果
i += 2;//i要变化
}
return 0;
}
第4章 数组
//矩阵相乘
#include<stdio.h>
#include<stdlib.h>
int main()
{
//矩阵最大大小为10,10
double a[10][10], b[10][10], c[10][10];
int i, j, k, r1, r2, c1, c2;
double sum;
//读入两个矩阵的行数和列数
printf("\ninput no. of rows, cols of matrix1: ");
scanf_s("%d %d", &r1, &c1);
printf("\ninput no. of rows, cols of matrix2: ");
scanf_s("%d %d", &r2, &c2);
//检查矩阵相乘的条件
if (c1!=r2)
{
printf("\nMultiplication is not possible");
exit(0);//终止程序
}
//读入matrix1的数据元素
printf("\ninput elements of matrix1: \n");
for (i = 0; i < r1; i++)
for (j = 0; j < c1; j++)
scanf_s("%lf", &a[i][j]);
//读入matrix2的数据元素
printf("\ninput elements of matrix2: \n");
for (i = 0; i < r2; i++)
for (j = 0; j < c2; j++)
scanf_s("%lf", &b[i][j]);
//矩阵相乘并显示结果
printf("\nthe product matrix is: \n");
for (i = 0; i < r1; i++)
{
sum = 0.0;
for (k = 0; k < c2; k++)
{
for (j = 0; j < c1; j++)
{
sum += a[i][j] * b[j][k];
}
c[i][k] = sum;
printf("%.2lf\t", c[i][k]);
sum = 0.0;
}
printf("\n");
}
return 0;
}
捕获.JPG
- 声明并初始化一个三维数组,之后读取它的数据并显示他们
//初始化并显示一个三维数组
//三维数组是有很多个二维数组
#include<stdio.h>
#include<stdlib.h>
int main()
{
int i, j, k;
//声明一个三维数组,由3个二维数组组成,每个二维数组容纳3行5列
int marks[3][3][5] = {
{
{11,12,13,14,15},
{16,17,18,19,20},
{21,22,23,24,25}
},
{
{26,27,28,29,30},
{31,32,33,34,35},
{36,37,38,39,40}
},
{
{41,42,43,44,45},
{46,47,48,49,50},
{51,52,53,54,55}
},
};
//读取数组元素并显示他们
for (i = 0; i < 3; i++)
{
for (j = 0; j < 3; j++)
{
for (k = 0; k < 5; k++)
{
printf("%d\t", marks[i][j][k]);
}
printf("\n");
}
printf("\n");
}
return 0;
}
捕获.JPG
- 在C语言中不能用const类型变量来初始化数组大小
网友评论