都灵理工大学lab check4

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;
}
以下是对提供的参考资料的总结,按照要求结构化多个要点分条输出: 4G/5G无线网络优化与网规案例分析: NSA站点下终端掉4G问题:部分用户反馈NSA终端频繁掉4G,主要因终端主动发起SCGfail导致。分析显示,在信号较好的环境下,终端可能因节能、过热保护等原因主动释放连接。解决方案建议终端侧进行分析处理,尝试关闭节电开关等。 RSSI算法识别天馈遮挡:通过计算RSSI平均值及差值识别天馈遮挡,差值大于3dB则认定有遮挡。不同设备分组规则不同,如64T和32T。此方法可有效帮助现场人员识别因环境变化引起的网络问题。 5G 160M组网小区CA不生效:某5G站点开启100M+60M CA功能后,测试发现UE无法正常使用CA功能。问题原因在于CA频点集标识配置错误,修正后测试正常。 5G网络优化与策略: CCE映射方式优化:针对诺基亚站点覆盖农村区域,通过优化CCE资源映射方式(交织、非交织),提升RRC连接建立成功率和无线接通率。非交织方式相比交织方式有显著提升。 5G AAU两扇区组网:与三扇区组网相比,AAU两扇区组网在RSRP、SINR、下载速率和上传速率上表现不同,需根据具体场景选择适合的组网方式。 5G语音解决方案:包括沿用4G语音解决方案、EPS Fallback方案和VoNR方案。不同方案适用于不同的5G组网策略,如NSA和SA,并影响语音连续性和网络覆盖。 4G网络优化与资源利用: 4G室分设备利旧:面对4G网络投资压减与资源需求矛盾,提出利旧多维度调优策略,包括资源整合、统筹调配既有资源,以满足新增需求和提质增效。 宏站RRU设备1托N射灯:针对5G深度覆盖需求,研究使用宏站AAU结合1托N射灯方案,快速便捷地开通5G站点,提升深度覆盖能力。 基站与流程管理: 爱立信LTE基站邻区添加流程:未提供具体内容,但通常涉及邻区规划、参数配置、测试验证等步骤,以确保基站间顺畅切换和覆盖连续性。 网络规划与策略: 新高铁跨海大桥覆盖方案试点:虽未提供详细内容,但可推测涉及高铁跨海大桥区域的4G/5G网络覆盖规划,需考虑信号穿透、移动性管理、网络容量等因素。 总结: 提供的参考资料涵盖了4G/5G无线网络优化、网规案例分析、网络优化策略、资源利用、基站管理等多个方面。 通过具体案例分析,展示了无线网络优化中的常见问题及解决方案,如NSA终端掉4G、RSSI识别天馈遮挡、CA不生效等。 强调了5G网络优化与策略的重要性,包括CCE映射方式优化、5G语音解决方案、AAU扇区组网选择等。 提出了4G网络优化与资源利用的策略,如室分设备利旧、宏站RRU设备1托N射灯等。 基站与流程管理方面,提到了爱立信LTE基站邻区添加流程,但未给出具体细节。 新高铁跨海大桥覆盖方案试点展示了特殊场景下的网络规划需求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值