C语言第一次作业练习

来源:互联网 发布:安卓模拟器 for mac 编辑:程序博客网 时间:2024/06/10 05:43

以下程序教材基于 谭浩强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;}
/*此程序于201732日编写,目的改变原来算法,采用函数方法比较三个整数中的最大者# 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分钟换算成用小时和分钟表示,将换算结果输出到屏幕。

/*此程序于201731日编写,目的将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位正整数,在屏幕上依次输出该整数的个位、十位和百位。

/*此程序于201731日编写,目的:  从键盘读取一个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的值。

/*此程序于201731日编写,目的:从键盘读取三个整数给变量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