福师大网络学院C语言程序设计网络作业
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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()