##MyFourthLog

题目 1028: [编程入门]自定义函数求一元二次方程

题目描述
求方程的根,用三个函数分别求当b^2-4ac大于0、等于0、和小于0时的根,并输出结果。从主函数输入a、b、c的值。

输入格式
a b c
输出格式
x1=? x2=?

样例输入
4 1 1
样例输出
x1=-0.125+0.484i x2=-0.125-0.484i

MYCPP;//这道题的核心内容x1x2=(-b±√(b^2-4ac))/2a

void D(double a, double b, double c)
{
	    double x1,x2;
		x1 = (-b + sqrt(pow(b, 2) - 4 * a * c)) / 2.0 * a;
		x2 = (-b - sqrt(pow(b, 2) - 4 * a * c)) / 2.0 * a;

		printf("%.3lf%.3lf", &x1, &x2);
}
void deng(double a, double b, double c)
{
	double x1, x2;
		x1=x2 = (-b + sqrt(pow(b, 2) - 4 * a * c)) / 2.0 * a;
	
		printf("%.3lf", &x1);
}
void x(double a, double b, double c)
{
	cout << 0;
}
int main()
{
	double a, b, c;
	cin >> a >> b >> c;
	if (pow(b, 2) - 4 * a * c>0)
	{
		D(a, b, c);
	}
	else if (pow(b, 2) - 4 * a * c < 0)
	{
		return 0;
	}
	else deng(a, b, c);
	return EXIT_SUCCESS;
}

//正确答案

float x1, x2, a, b, c, z;//预定义

void func1() {  //大于零 
    x1 = (-b + sqrt(z)) / (2 * a);
    x2 = (-b - sqrt(z)) / (2 * a);
}

void func2() {  //等于零 
    x1 = x2 = (-b) / (2 * a);
}

void func3() {  //小于零 
    z = sqrt(-z);
    printf("x1=%.3f+%.3fi x2=%.3f-%.3fi\n", -b / (2 * a), z / (2 * a), -b / (2 * a), z / (2 * a));
}

int main() {
    cin >> a >> b >> c;
    z = b * b - 4 * a * c;
    if (z > 0) {
        func1();
    }
    else if (z < 0) {
        func3();
        return 0;
    }
    else {
        func2();
    }
    printf("x1=%.3f x2=%.3f\n", x1, x2);
    return 0;
}

题目 1029: [编程入门]自定义函数处理素数

题目描述
写一个判断素数的函数,在主函数输入一个整数,输出是否是素数的消息。

输入格式
一个数
输出格式
如果是素数输出prime 如果不是输出not prime

样例输入
97
样例输出
prime

MYCPP;//仅通过一半样例

bool isprime(int x) 
{
	
		if ( x % x == 0&&x!=1)
		{
			return true;
		}
		else return false;
}
int main()
{
	int x;
	cin >> x;

	if (isprime(x))
	{
		cout << "prime";
	}
	else cout << "not prime";
	return 0;
}

//正确答案 通过测试

void sushu(int a)
{
    int count = 0;//这里运用的思想是***遍历2到a-1 并用a对 i取模 如果为零则证明i是a的因数***;
    for (int i = 2; i < a; i++)
    {
        if ((a % i) == 0)
            count++;//***a对于i到a-1***的因数个数(除1外的)
    }
    if (count == 0)
    {
        printf("prime");
    }
    else
        printf("not prime");
}
int main()
{
    int a;
    scanf_s("%d", &a);
    sushu(a);
}

题目 1030: [编程入门]二维数组的转置

题目描述
写一个函数,使给定的一个二维数组(3×3)转置,即行列互换。

输入格式
一个3x3的矩阵
输出格式

样例输入
1 2 3
4 5 6
7 8 9
样例输出
1 4 7
2 5 8
3 6 9

MYCPP;//正确答案//核心思想就是i,j位置互换即可 画图就能想通了

int main()
{
    int arr[3][3] = { 0 };
    for (int i = 0; i < 3; i++)
    {
        for (int j = 0; j < 3; j++)
        {
            cin >> arr[i][j];
        }
    }

    for (int i = 0; i < 3; i++)
    {
        for (int j = 0; j < 3; j++)
        {
            cout << arr[j][i]<<" ";
        }
        cout << endl;
    }
    return EXIT_SUCCESS;
}

题目 1031: [编程入门]自定义函数之字符串反转

题目描述
写一函数,使输入的一个字符串按反序存放,在主函数中输入并输出反序后的字符串(不包含空格)。

输入格式
一行字符
输出格式
逆序后的字符串

样例输入
123456abcdef
样例输出
fedcba654321

//正确答案//从中间断开然后两头赋值

int main()
{
    void array(string str);
    string str;
    cin >> str;
    array(str);
    return 0;
}
void array(string str)
{
    int length;
    length = str.length();
    for (int i = 0; i < length / 2; i++)
    {
        char k = str[i];
        str[i] = str[length-i-1];
        str[length-i-1] = k;
    }
    cout<<str;
}

题目 1032: [编程入门]自定义函数之字符串连接

题目描述
写一函数,将两个字符串连接

输入格式
两行字符串
输出格式
链接后的字符串

样例输入
123
abc
样例输出
123abc

MYCPP;//正确答案//直接把要链接的字符串顺序打印就行了不用想得太复杂!

void func(string s1,string s2)
{
    cout<<s1<<s2;
}
int main()
{
    string s1,s2;
    cin>>s1>>s2;
    tap(s1,s2);
    return 0;
}

ps:该复习复习字符串的知识了
新认识一个C 库函数 void *memset(void *str, int c, size_t n) 复制字符 c(一个无符号字符)到参数 str 所指向的字符串的前 n 个字符。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值