福师大网络学院C语言程序设计网络作业

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

C 语言程序设计作业

编程:

1编写一个程序求一元二次方程的解。

讨论下述情形:

(1)a=0,不是二次方程。

(2)b^2-4ac=0,有两个相等实根。

(3) b^2-4ac>0,有两个不等实根。

(4) b^2-4ac<0,有两个复根(表示成x+yi,x-yi)。

2. 编一程序,求出所有各位数字的平方和等于99的三位数。

3. 输入一个2X3的整数矩阵,输出其中最大值、最小值及其所在的行列下标。

4. 编程:输入一3X3整数矩阵,求其主对角线上元素之和并输出。

用矩阵: 11 12 13

21 22 23

31 32 33 验证。

5. 编程序求 y=1+1/1!-1/2!+1/3!-1/4!+...的值.(精度为1e-6)。

//1.编写一个程序求一元二次方程的解。

#include

int main(){

//假设这个方程是 aX^2 + bX + c = 0 的标准形式

float a,b,c;

scanf("%f",&a);

scanf("%f",&b);

scanf("%f",&c);

if(a==0){//a为零,非2次方程不计算

printf("这不是一个2次方程");

return 0;

}else if((b*b-4*a*c) == 0) { // 相等的两实根

printf("这个方程有两个相等的根,是:" + (-1)*b/(2*a) );

}else if((b*b-4*a*c) > 0){ //不相等的两实根

printf("这个方程有两个不相等的实根,\n分别是:" +

(Math.sqrt(b*b-4*a*c)- b)/(2*a) + "\n与" + ((-1)*Math.sqrt(b*b-4*a*c)- b)/(2*a));

}else if((b*b-4*a*c) < 0){ //不相等的复根

printf("这个方程有两个不相等的复根,\n分别是:" + (-1)*b/(2*a) +""+(Math.sqrt(b*b-4*a*c)/(2*a))+"i" + "\n与" + b/(2*a)

+""+(Math.sqrt(b*b-4*a*c)/(2*a))+"i";

}

return 0;

}

//--------------------------------------------------

//2.寻找所有各位数字的平方和等于99的三位数

#include

int main(){

int hundreds = 0;

int tens = 0;

int singles = 0;

for(int i=100;i<1000;i++){

hundreds = i/100; //取得百位数

tens = (i%100)/10; //取得十位数

singles = i%10; //取得个位数

if((hundreds*hundreds + tens*tens + singles*singles) == 99){ cout<

}

}

return 0;

}

//--------------------------------------------------

//3.输入一个2X3的整数矩阵,输出其中最大值、最小值及其所在的行列下标。#include

int main(){

int a[2][3] = {5,1,3,4,6,2}; //初始化矩阵

int max = a[0][0]; //初始化最大值

int maxX = 0; //初始化最大值的横坐标

int maxY = 0; //初始化最大值的纵坐标

int min = a[0][0]; //初始化最小值

int minX = 0; //初始化最小值横坐标

int minY = 0; //初始化最小值纵坐标

for(int i=0 ; i<2 ; i++){

for(int j=0; j<3 ; j++){

if(a[i][j] > max){

max = a[i][j];

maxX = i;

maxY = j;

}

else if(a[i][j] < min){

min = a[i][j];

minX = i;

minY = j;

}

}

}

cout<<"最大的数是"+max+",它的行列下标是: 第"+maxX+"行,第"+maxY+"列。\n";

cout<<"最小的数是"+mix+",它的行列下标是: 第"+mixX+"行,第"+mixY+"列。\n";

}

//--------------------------------------------------

//4.输入一3X3整数矩阵,求其主对角线上元素之和并输出。

#include

int main() {

int a[3][3],i,j,msum = 0,ssum = 0;

for(i = 0; i < 3; ++i) {

for(j = 0; j < 3; ++j) {

printf("a[%d][%d] = ",i,j);

scanf("%d",&a[i][j]);

}

}

printf("矩阵元素表:\n");

for(i = 0; i < 3; ++i) {

for(j = 0; j < 3; ++j) {

printf("%4d",a[i][j]);

}

printf("\n");

}

for(i = 0; i < 3; ++i) {

msum += a[i][i];

ssum += a[i][2 - i];

}

printf("主对角线的和是:%d\n斜对角线的和是:%d\n\n",msum,ssum);

return 0;

}

//--------------------------------------------------

//5、编程序求 y=1+1/1!-1/2!+1/3!-1/4!+...的值.(精度为1e-6)。

#include

int main()

相关文档
最新文档