Write a C program to determine if a quadratic equation (ax ^2 + bx + c = 0) has two real roots.
写一个计算 计算是否有两个实根的方程:ax ^2 + bx + c = 0
Write it using the following guidelines:
遵循下列规则:
a. Define three variables, called a, b, and c, which represents the three coefficients of the equation
定义·“A,B,C "三个函数。
b. Read from keyboard the values of a, b, and c
通过键盘读取该函数。
c. Evaluate the discriminant (Δ) of the equation:
计算Δ的值
i. If Δ is positive, then show the following message: “The equation has two REAL distinct roots”
如果Δ>0,输出“The equation has two REAL distinct roots”
ii. If Δ is zero, then show the following message: “The equation has two REAL coincident roots”
如果Δ=0,输出:“The equation has two REAL coincident roots”
iii. If Δ is negative, then show a message to let the user know that the equation has no real roots.
如果Δ<0,输出”equation has no real roots“
void main()
{
int a, b, c, mark;
printf("pls int the a,b,c of ax^2+bx+c=0!\n");
scanf("%d,%d,%d", &a, &b, &c);
if (a==0)//判断是否为一个一元二次方程?
{
printf("the function is not a right!");
return 0;
}
mark = b*b - (4 * a*c);
if (mark > 0)
{
printf("The equation has two REAL distinct roots");
}
if (mark == 0)
{
printf("The equation has only ONE REAL distinct roots");
}
if (mark < 0)
{
printf("The equation has NO REAL distinct roots");
}
return;
}
Write a C program that, given an integer number between 1 and 12 representing the current month, is able to display the extended name of the month, using a switch construct
写一个程序,限定用switch格式,把各个月份换成英文。
**(1→”January”, 2→“February”, 3→“March”, …, 12→“December”.The program must also handle wrong inputs from the user (lower than 1 and greater than 12).**然后这里又提示说如果输入了一个不是[1,12]范围内的数字需要报错!
Further insight: modify the program in order to allow it to accept a data in the format只接受以下格式
dd/mm/yyyy (e.g., 15/04/2015): the program has to print the data with the extended name
(e.g., 15 April 2015) of the month using a switch construct.
#include<stdio.h>
void main()
{
int year, month, day;
scanf("%d/%d/%d",&day,&month,&year);
if (month<=12&&month>0)
{
printf("%d/%d/%d is a correct format!\n", day, month, year);
}
else
{
printf("error!");
return 0;
}
switch (month)
{
case 1:printf("%d/january/%d\n",day,year);break;
case 2:printf("%d/february/%d\n", day, year);break;
case 3:printf("%d/march/%d\n", day, year);break;
case 4:printf("%d/April/%d\n", day, year);break;
case 5:printf("%d/may/%d\n", day, year);break;
case 6:printf("%d/june/%d\n", day, year);break;
case 7:printf("%d/july/%d\n", day, year);break;
case 8:printf("%d/august/%d\n", day, year);break;
case 9:printf("%d/september/%d\n", day, year);break;
case 10:printf("%d/octomber/%d\n", day, year);break;
case 11:printf("%d/november/%d\n", day, year);break;
case 12:printf("%d/december/%d\n", day, year);break;
}
return;
}
Write a C program that reads in input integer numbers from the keyboard until the user
inserts the value 0.
Hint: use the while (or do-while) loop construct.
Further insight: modify the program by accumulating during the acquisition process into
the variable sum the values inserted before placing the number 0; at the end of the
acquisition, the program will print on the screen the calculated value (sum).
#include<stdio.h>
#define num 1000
void main()
{
int count=0,check=0;
int arr[num];
do
{
scanf("%d", &arr[check]);
check++;
} while (arr[check - 1] != 0);
for ( int i = 0; i <check; i++)
{
count = count + arr[i];
}
printf("the sum is %d", count);
return;
Write a C program that reads in input from the keyboard a positive integer value N <= 40 corresponding to the base of a right and isosceles triangle, and represents the triangle on the screen by using of ‘*’ characters.
Example: if the value inserted by the user is 3, the following sequence of characters has to
be displayed:
*
**
***
#include<stdio.h>
#define limit 40
void main()
{
int num;
int a, b;
printf("pls int how many line do i have to show?!");
scanf("%d", &num);
if (num>limit)
{
printf("out of limit!");
return 0;
}
for (a=0; a<num; a++)
{
for ( b = 0; b<a; b++)
{
printf("*");
}
printf("\n");
}
return;
Further insight: Write a C program that reads an odd integer number N and represents
alternative geometrical figures, such as isosceles triangle, square, etc.
For example, try to represent the following geometrical figure:
*********
*******
*****
***
*
==In this case, N = 9.
三角输出呢,简单来说:
(已知N的情况下)
左直角三角形(正)
第一行打印一个星号,
第二行打印两个星号,
…
第N行打印N个星号。
左直角三角形(倒)
第N行输出N个星号
第N-1行输出N-1个星号
第N-2行输出N-2个星号
…
第3行输出3个星号
第2行输出2个星号
第1行输出1个星号
正三角形(正向)
正向正三角形
先输出空格然后再输出星号;
一共有n行,也就是最后一行要输出2n-1个星星
第一行:打印出N个空格,一个星星
第二行:打印出N-1个空格,三个星星
第三行:打印出N-2个空格,五个星星
…
第M行:打印出N-M个空格,2M-1个星星
(N是行数,M是已知的的需要打印出来的行数)
倒三角形就是:
先输出星号,然后再输出空格
Write a C program to display on the screen the first 20 values of the Fibonacci series.
Hint: the first values of the series are: 0 1 1 2 3 5 8 …
Formally, the series is implemented by using the following relation:
X i = X i-1 + X i-2 , with X 0 = 0 and X 1 = 1.
Further insight: modify the series as follows:
X i = X i-1 * X i-2 , with X 0 = 1 and X 1 = 2; how many elements of this series can be represented
with integer variables?
#include<stdio.h>
void main()
{
int num,count;
int a = 0, b = 1, temp;
printf("pls int how many number do i have to show?!");
scanf("%d", &num);//得到的是有要输出个数;
printf("%d\n",a);
printf("1%d\n",b);
for (count = 0; count < num-2; count++)
{
temp = a + b;
a = b;
b = temp;
printf("%d\n", temp);
}
getchar();
return 0;
}
顺带一提写这个程序我真的是偷懒了,发现的不要介意~反正效果是一样的
Write a C program that reads in input from the keyboard a decimal number N and then
acquires from the keyboard a sequence of integer numbers until the following conditions
are fulfilled:
a. The average of the inserted values is greater than N
b. 10 numbers have been acquired
#include<stdio.h>
#define limit 10
void main()
{
int num, count, temp, value=0;
float answer;
printf("pls int the num that you want to control!\n");
scanf("%d", &num);
if (num > limit)
{
printf("warring! this value is bigger than 10!");
return 0;
}
printf("copy !%d is the deadline!\n", num);
for (count = 1; count <= num; count++)
{
scanf("%d", &temp);
value =value + temp;
answer = (float)value / count;
if (answer>num)
{
printf("warring!the average of the values is bigger than %d! the system is going to stop!", num);
return 0;
}
}
printf("we have already get %d values and the average number is %f", num, answer);
return 0;
}