初学C语言,课后作业记录

介绍

本文是作者学习C语言的记录,初学上路,误撞勿怪,嘿嘿!
本文所有代码均已成功运行,如有错误,可能是编辑本文时误操作所致。
本文所有代码仅为完成任务,漏洞颇多,输入数据时请规范输入。

1.编程求一个数绝对值,并上机调试。(分别用直接编程的方法和函数调用的方法实现)

直接编程:

#include <stdio.h>//直接编程法如下 
int main()
{
	int a,b;
	printf("请输入一个整数:\n");
	scanf("%d",&a);
	if(a < 0)
	{
		b = -1*a;
		printf("%d的绝对值是:%d\n",a,b);
	}
	else
	{
		printf("%d的绝对值是:%d\n",a,a);
	}
	return 0;
}

程序测试如下:
输出测试

函数调用:
这里用的是abs()函数,增加头文件<math.h>和<stdlib.h>。

#include <stdio.h>//函数调用法如下 
#include <math.h>
#include <stdlib.h>
int main()
{
	int a,b;
	printf("请输入一个整数,我们将输出它的绝对值:\n");
	scanf("%d",&a);
	b = abs(a);
	printf("%d的绝对值是%d",a,b);
	return 0;
}

程序测试如下:
输出测试

2.1编程计算1+2+3+…+100。

代码如下:

#include <stdio.h>
int main()
{
	int i,sum = 0;
	for(i=1;i<=100;i++)
	{
		sum = sum + i;	
	}
	printf("%d",sum);
	return 0;
}

程序测试如下:
输出测试

2.2编程计算1+2+3+…+n。(n为输入的正整数,可用函数编程方法实现)

代码如下:

#include <stdio.h>
int main()
{
	int a,i,sum=0;
	printf("请输入一个正整数:\n");
	scanf("%d",&a);
	for(i=1;i<=a;i++)
	{
		sum = sum + i;
	}
	printf("1+2+3+...+%d=%d",a,sum);
	return 0;
}

程序测试如下:
输出测试

2.3编程计算m+(m+1)+(m+2)+…+n。

代码如下:

#include <stdio.h>
int main()
{
	int a,b,c,d,e=0;
	printf("请输入两个正整数:\n");
	scanf("%d,%d",&a,&b);
	for(c=1;c<=b-a+1;c++)
	{
		d = a;
		e = e + d;
		d = d + 1;
	}
	printf("%d+(%d+1)+(%d+2)+...+%d=%d",a,a,a,b,e);
	return 0;
}

程序测试如下:
输出测试

3.编写程序,输入a、b、c三个数,要求按从小到大的顺序输出。

代码如下:

#include <stdio.h>//练习如下 
int main()
{
	int a,b,c,i,j,t,e[2]={0};
	printf("请输入三个数字:\n");
	scanf("%d,%d,%d",&a,&b,&c);
	e[0] = a;
	e[1] = b;
	e[2] = c;
	for(i=0;i<3;i++)
	{
		for(j=1;j<3-i;j++)
		{
			if(e[j-1]>e[j])
			{
				t = e[j-1];
				e[j-1] = e[j];
				e[j] = t;
			}
		}
	}
	printf("The min to max is:\n");
	for(i=0;i<3;i++)
	{
		printf("%d ",e[i]);
	}
	return 0;
}

程序测试如下:
输出测试

4.编程实现两个整数的加减乘除四则运算,功能要求:屏幕上输入两个整数和某个运算符,程序可以根据运算符对应的四则运算给出正确的运行结果。

代码如下:
1.这里用浮点数来做输入变量类型,主要考虑除的时候的准确性问题。
2.这里采用strcmp()函数来比较输入运算符。

#include <stdio.h>
int main()
{
	float a,b,c;
	char i[10];
	printf("请输入两个整数及其运算符(加减乘除>>+/-*,如1 * 2,注意加空格):\n");
	scanf("%f %s %f",&a,i,&b);//这里输入数据之间要加个空格 
	if(!strcmp(i , "+"))
	{
		c = a + b;
		printf("%f%s%f=%f",a,i,b,c);
	}
	if(!strcmp(i , "-"))
	{
		c = a - b;
		printf("%f%s%f=%f",a,i,b,c);
	}
	if(!strcmp(i , "*"))
	{
		c = a * b;
		printf("%f%s%f=%f",a,i,b,c);
	}
	if(!strcmp(i , "/"))
	{
		c = a / b;
		printf("%f%s%f=%f",a,i,b,c);
	}
	return 0;
}

程序测试如下:
输出测试

5.编程验证卡拉兹(Callatz)猜想:对一个正整数 n,如果它是偶数,那么n/2,如果它是奇数,那么 (3n+1) ,这样一直反复下去,最后一定在某一步得到 n=1。

代码如下:

#include <stdio.h>
int main()
{
	int a;
	printf("请输入一个正整数来验证卡拉兹猜想:\n");
	scanf("%d",&a);
	while(a != 1)
	{
		if(a%2 == 0)
		{
			a = a/2;
			printf("%d ",a);
		}
		else
		{
			a = 3*a + 1;
			printf("%d ",a);
		}
	}
	return 0;
 }

程序测试如下:
输出测试

感谢观看!

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

HankuoYuan

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值