❶ 用c語言求解一元二次方程的解怎麼寫
您好!很高興為您解答。
原代碼中的scanf和printf中的%要放在d和lf的前面才對,改正後運算無誤~
#include <stdio.h>
#include <math.h>
void main ()
{
double x1;//x1,x2分別為方程的2個解
double x2;
double melt;
int a;
int b;//初始化ABC的三個變數
int c;
printf("請輸入a b c三個數的值:");
scanf("%d %d %d",&a, &b ,&c);//輸入ABC的時候需要空格
melt = b*b - 4*a*c;//初始化melt的值
if (melt>0)
{ x1=(-b + sqrt(melt))/(2*a);
x2=(-b - sqrt(melt))/(2*a);
printf ("2個解,x1 = %lf,x2 = %lf\n",x1,x2);
}
else if (melt==0)
{
x1 = (-b )/(2*a);
x2 = x1;
printf("1個解,x1 = %lf,x2 = lf%\n",x1,x2);
}
else
{
printf("無解\n");
}
}
望採納~如您還有不解,歡迎追問~
❷ c語言寫二元一次方程
if(b*b-4*a*c>=0) x1=x1; x2=x2;else x1=0;x2=0;
是不是你這兒沒有用大括弧的原因?
❸ C語言編寫一個求一元二次方程的實根的程序,該怎麼寫
步驟:
打開visual C++ 6.0-文件-新建-文件-C++ Source File
2.
定義變數:
#include <stdio.h>
#include <math.h>
void main()
{
double a,b,c; /*定義系數變數*/
double x1,x2,p; /*定義根變數和表達式的變數值*/
❹ 用c語言怎麼遍寫 一個任意函數在(x1,x2)區間內被等分成s,球 x1+s,x1+2s,.....到X2的函數值,急用謝了
2006年春浙江省高等學校
計算機等級考試試卷(二級C)
說明:⑴ 考生應將所有試題的答案填寫在答卷上。其中試題1~試題6,請在答卷上各小題正確選項的對應位置處填「√」;
⑵ 請將你的准考證號的後五位填寫在答卷右下角的指定位置內;
⑶ 考試時間為90分鍾;
試題1(每小題3分,共12分)
閱讀下列程序說明和程序,在每小題提供的若干可選答案中,挑選一個正確答案。
求 1 + 2/3 + 3/5 + 4/7 + 5/9 + … 的前20項之和。
運行示例:
sum = 11.239837
#include <stdio.h>
void main( )
{
int i, b = 1;
double s;
(1) ;
for(i = 1; i <= 20; i++){
s = s + (2) ;
(3)
}
printf( (4) , s);
}
(1) A、s = 0 B、s = 1
C、s = -1 D、s = 2
(2) A、i/b B、double(i)/double(b)
C、i/2*i-1 D、(double)i/(double)b
(3) A、; B、b = 2 * i – 1;
C、b = 1.0 * b; D、b = b + 2;
(4) A、"sum = %d\n" B、"s = %c\n"
C、"sum = %f\n" D、"s = %s\n"
試題2(每小題3分,共12分)
閱讀下列程序說明和程序,在每小題提供的若干可選答案中,挑選一個正確答案。
輸入10個整數,將它們從大到小排序後輸出。
運行示例:
Enter 10 integers: 1 4 -9 99 100 87 0 6 5 34
After sorted: 100 99 87 34 6 5 4 1 0 -9
#include <stdio.h>
void main( )
{ int i, j, t, a[10];
printf("Enter 10 integers: ");
for(i = 0; i < 10; i++)
scanf( (5) );
for(i = 1; i < 10; i++)
for( (6) ; (7) ; j++)
if( (8) ){
t = a[j];
a[j] = a[j+1];
a[j+1] = t;
}
printf("After sorted: ");
for(i = 0; i < 10; i++)
printf("%d ", a[i]);
printf("\n");
}
(5) A、"%f", a[i] B、"%lf", &a[i]
C、"%s", a D、"%d", &a[i]
(6) A、j = 0 B、j = 1
C、j = i D、j = i - 1
(7) A、j > i B、j < 9 - i
C、j < 10 - i D、j > i - 1
(8) A、a[i-1] < a[i] B、a[j+1] < a[j+2]
C、a[j] < a[j+1] D、a[i] < a[j]
試題3(每小題3分,共12分)
閱讀下列程序說明和程序,在每小題提供的若干可選答案中,挑選一個正確答案。
輸入一個字元串和一個正整數m,將該字元串中的前m個字元復制到另一個字元串中,再輸出後一個字元串。
運行示例1:
Enter a string: 103+895=?
Enter an integer: 6
The new string is 103+89
運行示例2:
Enter a string: 103+895=?
Enter an integer: 60
The new string is 103+895=?
運行示例3:
Enter a string: 103+895=?
Enter an integer: 0
The new string is
#include <stdio.h>
#include < (9) >
void main( )
{ char s[80], t[80], i, m;
printf("Enter a string:");
gets(s);
printf("Enter an integer:");
scanf("%d", &m);
for(i = 0; (10) ; i++)
(11) ;
(12)
printf("The new string is ");
puts(t);
}
(9) A、ctype.h B、math.h
C、stdio.h D、string.h
(10) A、i < m B、s[i]!= '\0'
C、s[i]!= '\0' && i < m D、s[i]!= '\0' || i < m
(11) A、*s++ = *t++ B、t[i] = s[i]
C、*t++ = *s++ D、s[i] = t[i]
(12) A、t[i] = '\0'; B、;
C、*++s = '\0'; D、*++t = '\0';
試題4(每小題3分,共12分)
閱讀下列程序並回答問題,在每小題提供的若干可選答案中,挑選一個正確答案。
#include <stdio.h>
void main( )
{ int s, x1, y1, z1, x2, y2, z2;
printf("Enter 6 integers:");
scanf("%d%d%d%d%d%d", &x1, &y1, &z1, &x2, &y2, &z2);
s = f(x2, y2, z2) - f(x1, y1, z1);
printf("%d\n", s);
}
f(int x, int y, int z)
{ int k, n;
int tab[2][13] = {
,
};
n = (x % 4 == 0 && x % 100 != 0 || x % 400 == 0);
for(k = 1; k < y; k++)
z = z + tab[n][k];
return z;
}
(13) 程序運行時,輸入1 0 0 0 0 0,輸出 (13) 。
A、29 B、28 C、0 D、-1
(14) 程序運行時,輸入0 0 1 0 0 0,輸出 (14) 。
A、29 B、28 C、0 D、-1
(15) 程序運行時,輸入2000 2 1 2000 3 1,輸出 (15) 。
A、29 B、28 C、0 D、-1
(16) 程序運行時,輸入1981 2 1 1981 3 1,輸出 (16) 。
A、29 B、28 C、0 D、-1
試題5(每小題3分,共12分)
閱讀下列程序並回答問題,在每小題提供的若干可選答案中,挑選一個正確答案。
# include <stdio.h>
void main ( )
{ int a = -1, b = 1;
void f1(int x, int y), f2(int *x, int *y);
void f3(int *x, int *y), f4(int x, int y);
f1(a, b);
printf("(%d,%d)\n", a, b);
a = -1, b = 1;
f2(&a, &b);
printf("(%d,%d)\n", a, b);
a = -1, b = 1;
f3(&a, &b);
printf("(%d,%d)\n", a, b);
a = -1, b = 1;
f4(a, b);
printf("(%d,%d)\n", a, b);
}
void f1(int x, int y)
{ int t;
t = x; x = y; y = t;
}
void f2(int *x, int *y)
{ int t;
t = *x; *x = *y; *y = t;
}
void f3(int *x, int *y)
{ int *t;
t = x; x = y; y = t;
}
void f4(int x, int y)
{ int *t = malloc(sizeof(t));
*t = x; x = y; y = *t;
}
(17) 程序運行時,第1行輸出 (17) 。
A、(1, -1) B、(-1, 1) C、(-1, -1) D、(1,1)
(18) 程序運行時,第2行輸出 (18) 。
A、(1, -1) B、(-1, 1) C、(-1, -1) D、(1,1)
(19) 程序運行時,第3行輸出 (19) 。
A、(1, -1) B、(-1, 1) C、(-1, -1) D、(1,1)
(20) 程序運行時,第4行輸出 (20) 。
A、(1, -1) B、(-1, 1) C、(-1, -1) D、(1,1)
試題6(每小題3分,共12分)
#include <stdio.h>
struct card{
char *face;
char *suit;
};
void filldeck(struct card *wdeck, char *wface[],char *wsuit[])
{ int i;
for (i = 0; i < 4; i++){
wdeck[i].face = wface[i%2];
wdeck[i].suit = wsuit[i/2];
}
}
void deal(struct card *wdeck)
{ int i;
for (i = 0; i < 4; i++)
printf("(%2s of %-6s)\n", wdeck[i].face, wdeck[i].suit);
}
void main()
{ struct card deck[4];
char *face[]=;
char *suit[]=;
filldeck(deck,face,suit);
deal(deck);
}
(21) 程序運行時,第1行輸出 (21) 。
A、(K of Heart) B、(Q of Heart)
C、(K of Club) D、(Q of Club)
(22) 程序運行時,第2行輸出 (22) 。
A、(K of Heart) B、(Q of Heart)
C、(K of Club) D、(Q of Club)
(23) 程序運行時,第3行輸出 (23) 。
A、(K of Heart) B、(Q of Heart)
C、(K of Club) D、(Q of Club)
(24) 程序運行時,第3行輸出 (24) 。
A、(K of Heart) B、(Q of Heart)
C、(K of Club) D、(Q of Club)
試題7 (14分)
編寫程序,輸入一批學生的成績,遇0或負數則輸入結束,要求統計並輸出優秀(大於85)、通過(60~84)和不及格(小於60)的學生人數。
運行示例:
Enter scores: 88 71 68 70 59 81 91 42 66 77 83 0
>=85:2
60-84:7
<60 2
試題8 (14分)
編寫程序,輸入一個正整數n,求下列算式的值。要求定義和調用函數fact(k)計算k的階乘,函數返回值的類型是double。
運行示例:
Enter n: 5
sum = 1.71667
2006年春浙江省高等學校
計算機等級考試答案(二級C)
試題1~6 試題7 試題8 合計
試題1~6
A B C D A B C D
(1) √ (13) √
(2) √ (14) √
(3) √ (15) √
(4) √ (16) √
(5) √ (17) √
(6) √ (18) √
(7) √ (19) √
(8) √ (20) √
(9) √ (21) √
(10) √ (22) √
(11) √ (23) √
(12) √ (24) √
試題7
#include <stdio.h>
void main( )
{
int mark, a, p, f;
c = p = f = 0;
printf("Enter scores:");
scanf ("%d", &mark);
while (mark >= 0){
if(mark >= 85) a++;
else if (mark >= 60) p++;
else f++;
scanf ("%d", &mark);
}
printf(">=85:%d\n", a);
printf("60-84:%d\n", p);
printf("<60:%d\n", a);
}
試題8
#include <stdio.h>
void main( )
{ int i, n;
double x, sum;
double fact(int n);
scanf("%d", &n);
sum = 0;
for(i=1; i<=n; i++)
sum = sum + 1/fact(i);
printf("sum=%f\n", sum);
}
double fact(int n)
{ int i;
double res = 1;
for(i=1; i<=n; i++)
res = res*i;
return res;
}
如果對您有幫助,請記得採納為滿意答案,謝謝!祝您生活愉快!
❺ c語言怎麼編寫x1,x2
請問你所述的x1,x2指的是什麼?
補充: c語言的乘號是 *
❻ c語言怎樣輸出x1=x2=數字
使用printf()函數
如:
int n = 10;
printf("x1 = x2 = %d", n);
輸出結果:x1 = x2 = 10
格式轉換符根據實際的輸出變數類型修改。
❼ C語言關系運算符的使用和理解,麻煩哪位大佬解答下下述源代碼中x1,x2,x3分別是怎麼得來的
你前面int就已經定義了x1,x2,x3為整型變數啦,但是沒有賦初值而已
而你後面x1=a>b>d;就是判斷a是否大於b是否大於d,是的話x1=1,否則x1=0;下面的語句也是如此
❽ c語言里 一元二次方程求根公式怎麼寫
#include<stdio.h>
#include<math.h>
intmain()
{
floata,b,c,d,x1,x2;
scanf("%f%f%f",&a,&b,&c);//輸入三個系數
d=b*b-4*a*c; //計算判別式
if(d<0)printf("無實數根! ");
elseif(d==0)printf("有兩個相等的實數根,x1=x2=%g ",-b/(2*a));
else
{
x1=(-b+sqrt(d))/(2*a);
x2=(-b-sqrt(d))/(2*a);
printf("x1=%g x2=%g ",x1,x2);
}
}
❾ 用c語言寫二元一次方程
printf("該一元二次方程有兩個解,x1=%f,x2=%f ",x1,x2);//你引號打錯了啊。。。
❿ c語言中這樣寫是對的嗎
是一一對應的,
第一個%f對應第一個參數,
這個寫法是不推薦的,因為這里想要表達的是當x1=x2的時候 隨便輸出x1,x2都是一樣的結果
所以只需要寫x1或者x2就行了