武汉科技大学C语言上机实验题(第一第二第三部分)

武汉科技大学C语言上机实验题(第一第二第三部分),第1张

前言:代码仅作参考,学校的编译器太低级可自行微调
大概率是不会出BUG 写完代码的时候我已经在VS2019上跑过一遍了
看代码的时候一定要把注释弄懂
祝各位学习愉快!天天开心!

实验1 VC++6.0开发环境及顺序结构程序设计
1. 输入一个摄氏温度,要求输出华氏温度。摄氏温度向华氏温度转换的公式为f=9/5*c+32。
#include 
int main()
{
	double c = 0;
	double f = 0;
	scanf("%lf", &c);
	f = 9.0 / 5 * c + 32;//这里不能用9/5  编译器会默认为整型的除法
	printf("%lf", f);
	return 0;
}
2. 输入两个整数,输出它们的和、和的平方、平方的和。
#include 
int main()
{
	int a = 0;
	int b = 0;
	int sum1 = 0;
	int sum2 = 0;
	int sum3 = 0;//先定义变量和几个用来存放和的容器
	scanf("%d", &a);
	scanf("%d", &b);
	sum1 = a + b;
	sum2 = (a + b) * (a + b);
	sum3 = a * a + b * b;
	printf("%d\n",sum1);
	printf("%d\n", sum2);
	printf("%d\n", sum3);
	return 0;
}

3、 2006年,某足球队赢得了98场比赛,输了55场比赛。利用这个信息编写一个C程序,计算并显示这个队在2006年期间的赢球百分比。
#include 
int main()
{
	double win = 98;
	double lose = 55;
	double total = 0;
	total = win + lose;
	double rate = win / total;
	printf("%lf%%", rate*100);
	return 0;
}
实验2 选择结构程序设计
1. 输入若干个字符,分别统计数字字符的个数、英文字母的个数。
 #include 
int main()
{
    int i = 0;
    int arr[100] = {0};
    int count = 0;
    int num1 = 0;
    int num2 = 0;
    printf("请输入内容:\n");
    while((arr[i]=getchar())!='\n')//空格作为结束标志
    {
        i++;
        count++;
    }
//进行字符串的录入
    for(i=0; i<count; i++)
    {

        if(arr[i]<='z' && arr[i]>='A')
        {
            num1++;
        }
        if(arr[i]>='0'&&arr[i]<='9')
        {
            num2++;
       }

    }
    printf("这串字符有%d个字母,有%d个数字。\n",num1,num2);
    return 0;
}
2.编程求解ax2+bx+c=0的根,其中a、b、c由键盘输入。
#include 
#include
int main()
{
	double a = 0;
	double b = 0;
	double c = 0;
	double d1 = 0;
	double d2 = 0;
	printf("请输入三个系数:");
	scanf("%lf %lf %lf", & a, &b, &c);
	if (a == 0)
	{
		printf("方程的根为:%lf", -b / c);
	}
	else if (a != 0 && ( b * b - 4 * a * c ) >0)
	{
		d1 = (-b + sqrt(b * b - 4 * a * c)) / (2 * a);
		d2 = (-b - sqrt(b * b - 4 * a * c)) / (2 * a);
		printf("方程的根为:%lf和%lf", d1, d2);
	}
	else
	{
		printf("这个方程组无解!");
	}

	return 0;
}

3. 已知某公司员工某月所接工程的利润profit(整数)与利润提成的关系如下(计量单位为元):
profit≤1000				没有提成
1000 < profit≤2000			提成10 %
2000 < profit≤5000			提成15 %
5000 < profit≤10000		提成20 %
10000 < profit				提成25 %
输入利润数,计算出利润提成。
#include 
int main()
{
	double commission = 0;
	int profit = 0;
	printf("请输入利润数:");
	scanf("%d", &profit);
	if (profit <= 1000)
	{
		profit = 0;
	}
	else if (1000 < profit && profit <= 2000)
	{
		commission = profit * 0.1;
	}
	else if (2000 < profit && profit <= 5000)
	{
		commission = profit * 0.15 ;
	}
	else if (5000 < profit && profit <= 10000)
	{
		commission = profit * 0.2;
	}
	else if (10000 < profit)
	{
		commission = profit * 0.25 ;
	}
	printf("提成为%lf", commission);
	return 0;
}


实验3 循环结构程序设计(一)
⒈ 编一个程序,求费波那契(Fibonacci)序列:1,1,2,3,5,8,………。请输出前20项。序列满足关系式: Fn = Fn - 1 + Fn - 2。
#include 
int main()
{
    int arr[20] = { 1,1,2,0, };
    int i = 0;
    printf("%d ,%d ",arr[0],arr[1]);
    for (i = 3; i <= 19; i++)
    {
        arr[i] = arr[i - 1] + arr[i - 2];
        printf("%d ", arr[i]);
    }
    return 0;
}
⒉ 输入两个正整数m和n,求其最大公约数和最小公倍数。
#include 
int main()
{
    int m = 0;
    int n = 0;
    int max = 0;//这个用来存放两个数中的较大数
    int i = 0;
    scanf("%d %d", &m, &n);
    if (m > n)
    {
        max = m;
    }
    else
    {
        max = n;
    }
    for (i = max; i > 2; i--)
    {
        if (m % i == 0 && n % i == 0)
        {
            printf("最大公约数为%d\n", i);
            break;
        }
    }
    for (i = max;; max++)
    {
        if (max % m == 0 && max % n == 0)
        {
            printf("最小公倍数为%d\n", max);
            break;
        }
    }
    return 0;
}
⒊ 求Sn=a+aa+aaa+……+aa…a之值,其a中代表1到9中的一个数字。例如:a代表2,则求2 + 22 + 222 + 2222 + 22222(此时n = 5),a和n由键盘输入。
#include
#include 
int main()
{
 int n = 0;
 int num = 0;
 int a[10] = {0};
 int sum = 0;
 while (scanf("%d", &n) != EOF)
	{
		for (int i = 0; i < n; i++)
		{
			num = num + 2 * pow(10, i);
			a[i] = num;
		}

		for (int i = 0; i < n; i++)
		{
			sum = sum + a[i];

		}

		printf("%d\n", sum);
		sum = 0;//下一组数据更新为初始状态,即sum为0,Num=0 
		Num = 0;
	}

	return 0;
}
⒋ 从键盘输入一个正整数n,计算该数的各位数之和并输出。例如,输入数是5246,则计算:5 + 2 + 4 + 6 = 17 并输出。
#include 
int main()
{
	int n = 0;
	int ret = 0;
	int sum = 0;
	scanf("%d", &n);
	while (n > 0)
	{
		ret = n % 10;
		sum += ret;
		n = n / 10;
	}
	printf("%d", sum);
	return 0;
}

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/713773.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-24
下一篇 2022-04-24

发表评论

登录后才能评论

评论列表(0条)

保存