C语言程序设计报告第九章

#include<stdio.h>

struct ser

{

    int h,m,s;

} time;

int main()

{

    int x;

    scanf("%d:%d:%d",&time.h,&time.m,&time.s);

    scanf("%d",&x);

    time.s+=x;

    if(time.s>=60)

    {

        time.m+=1;

        time.s=time.s-60;

        if(time.m>=60)

        {

            time.h+=1;

            time.m=time.m-60;

            if(time.h==24)

            {

                time.h=0;

            }

        }

    }

    printf("%d :%d :%d\n",time.h,time.m,time.s);

    return 0;

}

#include<stdio.h>

struct ser

{

    int n;

    char a[20];

    double m;

}q[10];

int main()

{

    int x;

    scanf("%d",&x);

    for(int i=0;i<x;i++)

    scanf("%d %s %lf",&q[i].n,q[i].a,&q[i].m);

    double sum=0;

    for(int i=0;i<x;i++)

    {

        sum=sum+q[i].m;

    }

    printf("%.2lf",sum/x);

    return 0;

}

#include <stdio.h>

struct complex{

    int real;

    int imag;

};

struct complex multiply(struct complex x, struct complex y);

int main()

{

    struct complex product, x, y;

    scanf("%d%d%d%d", &x.real, &x.imag, &y.real, &y.imag);

    product = multiply(x, y);

    printf("(%d+%di)\n(%d+%di)\n%d+%di\n",

            x.real, x.imag, y.real, y.imag, product.real, product.imag);

    return 0;

}
struct complex multiply(struct complex x, struct complex y){

struct complex z;

z.real = x.real * y.real - x.imag * y.imag;

z.imag = x.real * y.imag + x.imag * y.real;

return z;
}
#include<stdio.h>

struct book

{

    char name[10];

    float price;

};

int main()

{

    struct book a[10];

    int min=0,max=0,n,i;

    scanf("%d",&n);

    for(i=1; i<=n; i++)

    {

        scanf("%s%f",a[i-1].name,&a[i-1].price);

    }

    for(i=1; i<n; i++)

    {

        if(a[i].price>a[max].price)

            max=i;

        if(a[i].price<a[min].price)

            min=i;

 

    }

    printf("%.1f,%s\n",a[max].price,a[max].name);

    printf("%.1f,%s\n",a[min].price,a[min].name);

    return 0;

}

#include<stdio.h>

struct student

{

    int n;

    char a[20];

    double m;

}q[10];

int set_grade(double x)

{

    if(x<=59)

    {

        return 'D';

    }

    else if(x<=69)

    {

        return 'C';

    }

    else if(x<=84)

    {

        return 'B';

    }

    else

    {

        return 'A';

    }

}

int main ()

{

    for(int i=0;i<10;i++)

    {

        scanf("%d %s %lf",&q[i].n,q[i].a,&q[i].m);

    }

    for(int i=0;i<10;i++)

    {

        char str=set_grade(q[i].m);

        printf("%d %s %lf %c\n",q[i].n,q[i].a,q[i].m,str);

    }

    return 0;

}

/*

1 asd 85

2 wer 75

3 wrt 70

4 bgu 84

5 tyi 90

6 gut 69

7 ghb 60

8 yut 50

9 guy 100

10 edc 78

*/

三、改错

#include<stdio.h>

int main()

{

    char str[]="总分最高的学生是:",s[]="分";//存入一个字符型汉字数组

    struct students

    {

        int number;

        char name[20];

        int score[3];

        int sum;

    }student[100];//student[100]定义一个结构体数组

    int i,j,k,n,max=0;

    printf("n=");

    scanf("%d",&n);

    for(i=0; i<n; i++)

    {

        scanf("%d%s",&student[i].number,student[i].name);

        for(j=0; j<3; j++)

        {

            scanf("%d",&student[i].score[j]);

        }

        student[i].sum=student[i].score[0]+student[i].score[1]+student[i].score[2];

    }

    k=0;

    max=student[0].sum;

    for(i=0; i<n; i++)

    {

        if(max<student[i].sum)

        {

            max=student[i].sum;//更新max的值

            k=i;

        }

 

    }

 

    printf("%s %s, %d%s\n",str,student[k].name,student[k].sum,s);//变成输出汉字型

    return 0;

}

/*

5

1 wer 23 44 67

2 rer 34 67 88

3 rdf 65 76 44

4 fgh 99 99 99

5 fby 56 88 54

5

1 黄岚 78 83 75

2 王海 76 80 77

3 沈强 87 85 76

4 张枫 92 88 78

5 章盟 80 82 75

*/

(1)

#include<stdio.h>

#include<iostream>

#include<algorithm>

using namespace std;

struct date

{

    int a;

    int b;

    int c;

};

struct node

{

    char name[20];

    struct date birth;

    char num[50];

} node[100],t;

int n;

void sort()

{

    int i,j;

    for(i=0; i<n; i++)

    {

        for(j=0; j<n-i-1; j++)

        {

            if(node[j].birth.a<node[j+1].birth.a)

            {

                t=node[j];

                node[j]=node[j+1];

                node[j+1]=t;

            }

        }

    }

    for(i=0; i<n; i++)

    {

        printf("%s ",node[i].name);

        printf("%d ",node[i].birth.a);

        printf("%s\n",node[i].num);

    }

}

int main()

{

    int i;

    cin>>n;

    for(i=0; i<n; i++)

    {

        scanf("%s",node[i].name);

        scanf("%d %d %d",&node[i].birth.a,&node[i].birth.b,&node[i].birth.c);

        node[i].birth.a=((node[i].birth.a*100+node[i].birth.b)*100+node[i].birth.c);

        scanf("%s",node[i].num);

    }

    sort();

    return 0;

}

/*

3

zhang 1985 04 03 13912345678

wang 1982 10 20 86057188018448

qian 1984 06 19 13609876543

*/

(2)

#include<stdio.h>

int main()

{

    int compareRational(double x,double y);

    double x,y,a,b,c,d;

    int r=0;

    scanf("%lf/%lf",&a,&b);

    x=a/b;

    scanf("%lf/%lf",&c,&d);

    y=c/d;

    r=compareRational(x,y);

    if(r==-1)

    {

        printf("%.lf / %.lf < %.lf / %.lf\n",a,b,c,d);

    }

    else if(r==0)

    {

        printf("%.lf / %.lf = %.lf / %.lf\n",a,b,c,d);

    }

    else

    {

        printf("%.lf / %.lf > %.lf / %.lf\n",a,b,c,d);

    }

    //printf("%d\n",r);

    return 0;

}

int compareRational(double x,double y)

{

    if (x>y)

        return 1;

    else if (x<y)

        return -1;

    else

        return 0;

}

/*

1/2 3/4

*/

(3)

#include<stdio.h>

#include<math.h>

//#include<stdlib.h>

#include<string.h>

int main()

{

    struct vec

    {

        double x;

        double y;

    } v1, v2;

    scanf("%lf %lf %lf %lf", &v1.x, &v1.y, &v2.x, &v2.y);

    double a, b;

    a = v1.x+v2.x;

    b = v1.y+v2.y;

    if(a < 0 && a > -0.05)

        a = 0.0;

    if(b < 0 && b > -0.05)

        b = 0.0;

    printf("(%.1f, %.1f)", a, b);

}

/*

3.5 -2.7 -13.9 8.7

*/

CSU 大一上 C语言实验报告 (1)教材第2章编程题第2题:编写计算球体体积的程序。 说明:本题声明适当变量,用户键入数据,运算并输出结果,较简单。 (2)教材第2章编程题第8题:编写程序计算第一、第二、第三月还贷后剩余贷款金额。 说明:本题要求用户输入总额、利率、每月还贷净额,输出每月剩余,对输入输出、类型定义考查。 (3)教材第3章编程题第2题:编写程序实现对用户输入的产品信息进行格式化。 说明:本题考查格式化输入输出、转义字符的运用。 (4)教材第4章编程题第4题:编写程序实现将输入的整数按八进制输出。 说明:本题重在考查简单的运算符和表达式运用。 (5)用户输入一个三位数,输出各位数字之和。 说明:本题重在考查如何从一个整数中取出每一个数字。 (6)教材第5章编程题第5题:编写程序计算用户输入所得额的税金。 说明:本题考查简单的选择结构。 (7)教材第5章编程题第11题:编写程序实现将用户输入的两位数转化为英文。 说明:本题考查switch语句的应用。 (8)教材第6章编程题第8题:编写程序显示单月日历,用户指定这个月的天数和该月起始日是星期几。 说明:本题考查循环结构和选择结构的综合应用,判断是否一个星期最后一天,换行符。 (9)教材第6章编程题第11题:编程序实现利用无穷级数法估计e的值。 说明:本题考查根据公式设计循环结构并实现。 (10)因子之和等于其本身的数称为完数,如28的因子为1、2、4、7、14,而28=1+2+4+7+14,因此28为完数。编程序找出2~5000中的完数。 说明:本题利用变量i在2~5000中变化,判断其是否是完数。 (11)教材第7章编程题第12题:编程计算从左至右求值的表达式的值。 说明:本题考查对运算符和操作数的判断。 (12)教材第7章编程题第14题:编程序用牛顿计算法计算浮点数平方根。 说明:本题考查对循环结构的掌握,对表达式的合理运用,对基本类型的理解。 (13)教材第8章编程题第14题:编写程序颠倒句子中单词的顺序。 说明:本题考查对字符数组的处理,对一些循环选择结构的理解。 (14)教材第8章编程题第15题:编写程序实现凯撒密码加密。 说明:本题考查对字符数组的掌握,对字符处理的理解。 (15)编程序实现将用户输入的数字字符串转化为整数输出。 说明:本题考察对字符、整数关系的掌握与理解,对循环结构的熟练运用。 (16)教材第9章编程题第1题:编写选择排序的函数,并递归调用。 说明:本题利用函数简化程序、使得结构更清晰、熟练掌握。 (17)教材第9章编程题第7题:编写计算xn的函数。 说明:本题考查函数定义、调用,并初步考察递归运用。 (18)教材第10章编程题第6题:编写程序实现逆波兰运算。 说明:本题考查对程序每部分的理解、掌握,外部、内部变量,主函数,小函数的编写与应用。初步了解栈的一些实现函数。 (19)编程序找出2~5000中满足条件的数x:x是素数且x的每位数字是素数、每位数字之和是素数,如23、223、2333等。 说明:本题考查函数方法与循环选择结构的综合运用。 (20)教材第11章编程题第3题:用指针变量编写简化一个分数的函数。 说明:本题用来解决函数无法传回传递的实际参数,指针变量。 (21)教材第12章编程题第2题:编写函数读入用户输入的一条消息,检测是否是回文,分别用数组、指针来解决。 说明:本题可以体会到数组与指针的特点,利用指针的便利。 (22)利用指针编写程序,实现从键盘键入字符串,将此字符串从m个字符开始的n个字符复制成另一个字符串。 说明:本题用指针指向字符串,进行跟踪和复制操作。 (23)教材第13章编程题第5题:编写程序实现对输入命令行参数求和。 说明:本题加深对命令行参数的理解、考查知识的综合应用。 (24)教材第16章编程题第5题:用结构变量解决搜索离用户输入时间最近的航班信息,并输出。 说明:本题考查结构与数组的结合运用,有助于理解结构。首先,定义一个存储起飞、到达时间的结构,再定义一个该类型的数组,循环搜索即可。 (25)教材第17章编程题第5题:用指针数组存储键入的字符串,对数组排序。 说明:本题应用动态分配内存、数组排序,考查综合能力。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值