C语言第一次作业练习

以下程序教材基于 谭浩强C程序设计(第四版)

第1题 参照例1.3,在Visual C++ 6.0环境中继续完成教材P.15 习题6。

/*此程序于2017年3月1日12:48编写,目的:
  当用户在命令窗口输入a,b,c三个值,输出
  其中最大者*/

# include<stdio.h>

int main(void)
{
	int a,b,c,t;         //因为要进行三个数字的大小比较,所以需要引入中间变量t//
	
	printf("请输入a,b,c的值,中间以逗号隔开:\n");  //请用户输入三个数值的大小//
	scanf("%d,%d,%d",&a,&b,&c);                     //读取用户所输入三个数值//
	t=a;                                            //将a的值赋给t//
	if (t<b)                                        //以下运用if语句进行比较//
		t=b;
	if (t<c)
		t=c;
	printf("a,b,c中,最大的数字是%d\n",t);          //输出最大值//

	return 0;
}
/*此程序于2017年3月2日编写,目的改变原来算法,采用函数方法比较三个整数中的最大者

# include<stdio.h>
# include<stdlib.h>

int main(void)
{
    int max(int x,int y,int z);
	int a,b,c,d;
	
	printf("请输入三个整数,中间以逗号隔开\n");
	scanf("%d,%d,%d",&a,&b,&c);   //scanf 语句请用户输入三个字符//
	d=max(a,b,c);
	printf("max=%d\n",d);   //printf 语句请用户输出最大值,从max函数中的返回值调用//
	
	system("pause");        //页面停留指令//
	return 0;
}

int max(int x,int y,int z)  //定义函数//
{
	int t;
	t = x;
	if (y>t)       //if语句 后面会学到//
		t=y;
	if (z>t)
		t=z;
	return(t);     /*返回函数值给第十行C,当然 如果定义函数写在了main语句的前面,
				   则在第六行中不需要定义参数int x,int y,int z
}
*/

第2题 在Visual C++ 6.0环境中输入并运行例3.1。

/*此程序于2017年3月1日编写,目的将华氏温度转换为摄氏度*/

# include<stdio.h>

int main(void)
{
	float f,c;                    //定义f和c为单精度浮点型变量//
	f=64.0;                       //指定f的值//
	c=(5.0/9)*(f-32);             //利用公式计算c的值//
	printf("f=%f\nc=%f\n",f,c);   //输出c的值//
	return 0;
}

/*此程序需要注意的是,找到华氏与摄氏之间的转换关系,摄氏温度=5/9(华氏温度-32)*/

第3题 在Visual C++ 6.0环境中输入并运行例3.2。

/*此程序于2017年3月1日编写,目的计算本息和*/


# include<stdio.h>

int main()
{
	float p0=1000,r1=0.0036,r2=0.0225,r3=0.0198,p1,p2,p3;   //定义变量//

	p1 = p0 * (1 + r1);                                     //计算活期本息和//
	p2 = p0 * (1 + r2);                                     //计算一年定期本息和//
	p3 = p0 * (1 + r3/2) * (1 + r3/2);                      //计算存两年半年定期的本息和//
	printf("p1=%f\np2=%f\np3=%f\n",p1,p2,p3);               //输出结果//   

	return 0;
}

第4题 在Visual C++ 6.0环境中输入并运行例3.3。

/*此程序于2017年3月1日编写,目的给定一个大写字母,要求用小写字母输出*/

# include<stdio.h>

int main(void)
{
	char c1,c2;
	c1='A';                  //将字符A的ASCII代码存放到c1变量中//
	c2=c1+32;                //得到字符a的ASCII代码存放到c2变量中//
	
	printf("%c\n",c2);       //输出c2的值,是一个字符//
	printf("%d\n",c2);       //输出c2的值,是字符a的ASCII代码//
	return 0;
}

第5题 编写程序,把456分钟换算成用小时和分钟表示,将换算结果输出到屏幕。

/*此程序于2017年3月1日编写,目的将456分钟转换为小时和分钟*/


# include<stdio.h>

int main(void)
{
    int hour,minute;
    hour = 456/60;
    minute = 456%60; 
	
    printf("将456分钟转换为小时和分钟\n");
    printf("%d时%d分\n",hour,minute);
    return 0;
}


/*如果要求用户自行决定多少分钟,则改程序应如下

# include <stdio.h>

int main(void)

{
    int minute,hour;
    printf("请输入分钟数\n");
    scanf("%d",&minute);
    printf("%d 分钟 = ",minute);

    hour=minute/60;
    minute%=60;
    if(hour>0)
       printf("%d 小时 ",hour);
    if(minute>0)
       printf("%d 分钟\n",minute);

    return 0;
}
*/

第6题 从键盘读取两个整数并用实数输出它们的平均值。

/*此程序于2017年3月1日编写,目的:从键盘读取两个整数并用实数输出它们的平均值。*/

# include<stdio.h>

int main(void)
{
	int a,b;
	double c;                                        //变量c需要定义为双精度类型//
	
	printf("请输入两整数的值,中间以逗号隔开\n");
	scanf("%d,%d",&a,&b);                            
	c=(double)(a+b)/2;
	printf("两数的平均值为%lf\n",c);

	return 0;
}

第7题 从键盘读取一个3位正整数,在屏幕上依次输出该整数的个位、十位和百位。

/*此程序于2017年3月1日编写,目的:
  从键盘读取一个3位正整数,在屏幕上依次输出该整数的个位、十位和百位。*/

# include<stdio.h>

int main(void)
{
    int a,b,c,d;
    
    printf("请输入三位数字\n");
    scanf("%d",&a);
    b=a/100;
    c=a/10%10;
    d=a%10;
    printf("百位数字是%d,十位数字是%d,个位数字是%d\n",b,c,d);
	
    return 0;
}

第8题 从键盘读取三个整数给变量a、b、c,然后交换它们中的数,把a中原来的值给b,把b中原来的值给c,把c中原来的值给a,输出交换结束后a、b、c的值。

/*此程序于2017年3月1日编写,目的:从键盘读取三个整数给变量a、b、c,
  然后交换它们中的数,把a中原来的值给b,把b中原来的值给c,把c中原
  来的值给a,输出交换结束后a、b、c的值。*/

# include<stdio.h>

int main(void)
{
	int a,b,c,d,e;                                 //交换n个数,需要n-1个中间变量,则此程序需要五个变量//
	
	printf("请输入三个整数,中间以逗号隔开\n");
	scanf("%d,%d,%d",&a,&b,&c);
	d=a;
	e=b;
	a=c;
	c=b;
	b=d;
	printf("a=%d b=%d c=%d\n",a,b,c);
	
	return 0;
}
/*此程序还可以用指针进行如下:

# include<stdio.h>

void huhuan_3(int *p,int *q, int *r)               //定义函数//
{
    int t=*p;                                      //t存放*p地址上的数据,并且赋给t//
    *p=*q;
    *q=*r;
    *r=t;
}

void main()
{
    int a,b,c;
    
    printf("请输入三个数(以逗号隔开):\n");
    scanf("%d,%d,%d",&a,&b,&c);
    printf("交换后的结果:\n");
    huhuan_3(&a,&b,&c);                            //执行时,会将a,b,c的值赋给定义函数中的指针地址*p,*q,*r//
    printf("a=%d b=%d c=%d\n",a,b,c);
}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Johnny__Wang__

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

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

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

打赏作者

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

抵扣说明:

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

余额充值