大一学C语言做过的作业。

本人用得教科书是《C程序设计(第四版)》谭浩强 著  清华大学出版社。大一的时候刚上大学,也没统一的交报告的格式,作业也没备注题目跟要求,就只有一个文本,想想大一还真的是好蠢萌。

下面放出大一上学期学的C语言所做过的作业。

  1. 输入一个数,判断是正数、负数还是零。(第七题)
#include <stdio.h>
int main()
{
	int x;
	printf("请输入x的值:");
	scanf("%d",&x);
	if(x<0)
		printf("Y=-1\n");
	else
	   	if(x=0)
			 printf("Y=0\n");
		else
			 printf("Y=1\n");
	return 0;
}
测试结果:
请输入x的值:4
Y=1
Press any key to continue
请输入x的值:0
Y=0
Press any key to continue
请输入x的值:-9
Y=-1
Press any key to continue

2. 输入一个小于10000的正整数,将其每个位数输出,并且逆序输出。(第9题)
#include <stdio.h>
#include <math.h>
int main()
{
	int num,weishu,ge,shi,bai,qian,wan;
	printf("请输入一个小于10000的正整数\n");
	scanf("%d",&num);
		if(num>9999)
		  weishu=5;
		else
			if(num>999)
				weishu=4;
			else
				if(num>99)
					weishu=3;
				else
					if(num>9)
						weishu=2;
			else weishu=1;
				printf("你输入的数为%d位数\n",weishu);
	wan=num/10000;
	qian=(int)(num-wan*10000)/1000;
	bai=(int)(num-wan*10000-qian*1000)/100;
	shi=(int)(num-wan*10000-qian*1000-bai*100)/10;
	ge=(int)(num-wan*10000-qian*1000-bai*100-shi*10);
switch(weishu)
	{
	case 5:printf("每位数字为:%d,%d,%d,%d,%d\n",wan,qian,bai,shi,ge);	
		   printf("逆序输出为:%d,%d,%d,%d,%d\n",ge,shi,bai,qian,wan);break;
	case 4:printf("每位数字为:%d,%d,%d,%d\n",qian,bai,shi,ge);
		   printf("逆序输出为:%d,%d,%d,%d\n",ge,shi,bai,qian);break;
	case 3:printf("每位数字为:%d,%d,%d\n",bai,shi,ge);
		   printf("逆序输出为:%d,%d,%d\n",ge,shi,bai);break;
	case 2:printf("每位数字为:%d,%d\n",shi,ge);
		   printf("逆序输出为:%d,%d\n",ge,shi);break;
	case 1:printf("每位数字为:%d\n",ge);
		   printf("逆序输出为:%d\n",ge);break;
	}
	return 0;

}
测试结果:
请输入一个小于10000的正整数
8998
你输入的数为4位数
每位数字为:8,9,9,8
逆序输出为:8,9,9,8
Press any key to continue

3. 输入4个数字,让其从小到大排序。(第11题)
#include <stdio.h>
int main()
	{
	int a,b,c,d,i;
	printf("请输入4个数字,以逗号隔开\n");
	scanf("%d,%d,%d,%d",&a,&b,&c,&d);
	printf("a=%d,b=%d,c=%d,d=%d\n",a,b,c,d);
		if(a>b)
		{i=a;a=b;b=i;}
		if(a>c)
		{i=a;a=c;c=i;}
		if(a>d)
		{i=a,a=d;d=i;}
		if(b>c)
		{i=b;b=c;c=i;}
		if(b>d)
		{i=b;b=d;d=i;}
		if(c>d)
		{i=c;c=d;d=i;}
	printf("从小到大排序为:%d %d %d %d\n",a,b,c,d);
	return 0;
	}
测试结果:
请输入4个数字,以逗号隔开
5,9,2,11
a=5,b=9,c=2,d=11
从小到大排序为:2 5 9 11
Press any key to continue

4. 求三位数的水仙花数。(第八题)
#include <stdio.h>
#include <math.h>
int main()
{
	 int a,b,c,i;
	 printf("水仙花数为:\n");
	 for(i=100;i<1000;i++)
	 {
		 a=i/100;
		 b=i/10-a*10;
		 c=i%10;
		 if (i==pow(a,3)+pow(b,3)+pow(c,3))
			 printf("%d\n",i);
	 }
 return 0;
}
测试结果:
水仙花数为:
153
370
371
407
Press any key to continue

5. 用c语言求下列分数序列的前20项之和(第10题)
#include <stdio.h>
int main()
{
	int i,n=20;
	float a=2,b=1,c,s=0;
	for(i=1;i<=n;i++)
	{
		s=s&#
  • 3
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值