码迷,mamicode.com
首页 > 编程语言 > 详细

C语言学习记录【7月】

时间:2015-07-12 23:18:44      阅读:161      评论:0      收藏:0      [点我收藏+]

标签:

1、第一个小程序:产生20个30-70之间的随机数,并计算他们的和,用到arc4random()函数,产生【x y】之间的随机数,arc4random()%(y-x+1) + x  需要添加头文件stdlib.h

#include<stdio.h>

#include<stdlib.h>

int main()

{

    int a[20]={0};

    int sum=0;

    for(int i=0;i<20;i++){

        a[i]=arc4random()%41+30;//要加stdlib头文件,不然会产生负数

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

        sum+=a[i];

    }

    printf("\n%d",sum);

    return 0;

}

2、第二个小程序:打印100以内不能被7整除,并且不包含7的数

#include<stdio.h>

int main()

{

    int i;

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

    {

        if(i%7==0 || i%10==7||i/10==7){

            continue;

        }

        printf("%d  ",i);

    }

    return 0;

}

3、第三个小程序:商场买东西,超过500,超出的部分打9折

#include<stdio.h>

int main()

{

    char c;

    int money=0;

    int realpay = 0;

    do{

    printf("请输入一个金额:");

    scanf("%d",&money);

    if(money>500)

    {

        realpay=(money-500)*0.9+500;

    }

    else{

            realpay=money;

    }

    printf("%d\n",realpay);

    printf("是否继续:Y/N?");

    getchar();

    c=getchar();

    }while(c==‘Y‘||c==‘y‘);

    return 0;

}

4、第四个小程序:判断闰年,四年一闰,百年不闰,四百年再闰

#include<stdio.h>

int main()

{

    char c;

   int year=0;

    do{

    scanf("%d",&year);

    if (year%400==0||(year%4==0&&year%100!=0))

        printf("%d年是闰年\n",year);

    else

        printf("%d年不是闰年\n",year);

    printf("是否继续:Y/N?\n");

    getchar();

    c=getchar();

    }while(c==‘y‘||c==‘Y‘);

    return 0; 

}

 5、第5个小程序:结构体做结构体成员

#include<stdio.h>

typedef struct date{

    int year;

    int month;

    int day;

}MyDate; 

typedef struct stu{

    int number;

    MyDate birthday;

    char name[20];

    char sex[10];

    int score;

}Stu;

int main()

{

    Stu students[5] = {

        {001,{1991,1,1},"laoer","nan",87},

        {002,{1992,2,2},"laoer","nv",82},

        {003,{1993,3,3},"laosan","nan",88},     

        {004,{1994,4,4},"laosi","nan",84},

        {005,{1995,5,5},"laowu","nan",85}

    };

    for(int i=0;i<5-1;i++){

        for(int j=0;j<5-1-i;j++){

            if(students[j].score<students[j+1].score){

                Stu temp=students[j];

                students[j]=students[j+1];//结构体可以直接赋值

                students[j+1]=temp;

            }

        }

    }

printf("%d %d-%d-%d %s %s %d\n",students[i].number,students[i].birthday.year,students[i].birthday.month,students[i].birthday.day,students[i].name,students[i].sex,students[i].score);

}

}

6、二维数组学习:产生2行3列的1-50之间的随机数排序并打印,打印最大的数

#include<stdio.h>

#include<stdlib.h>

int main()

{

    int number[2][3]={0};

    for(int i=0;i<2;i++){

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

            number[i][j]=arc4random()%50;

            printf("%d  ",number[i][j]);

        }

        printf("\n");

    }

    int max=0;

    for(int i=0;i<2;i++){

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

            if(max<number[i][j]){

                max=number[i][j];

            }

        }

    }

    printf("%d\n",max);

    for(int i=0;i<2;i++){

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

            if(number[i][j]==max){

                printf("%d %d",i,j);

            }

        }

    }

      return 0;

}

7、输入一个数,计算阶乘

#include<stdio.h>

int main()

{

    int i;

    int sum=1;

    printf("请输入:");

    scanf("%d",&i);

 

        for(int j=1;j<=i;j++){

            sum*=j;

        }

         printf("%d的阶乘是%d\n",i,sum);

}

8、输入日期,判断是本年的第几天

typedef struct date{

    int year;

    int mouth;

    int day;

}Date;

// 判断闰年

int pd_year(int a);

int pd_year(int a)

{

    if (a%400==0||(a%4==0&&a%100!=0))

        return 1;

    else

        return 0;

}

int pd_day(struct date Date);

int pd_day(struct date Date)

{

    int sum=0,days[] = {31,28,31,30,31,30,31,31,30,31,30,31};

    for (int i=0; i<Date.mouth-1; i++)

        sum+=days[i];

        if (Date.mouth>2)

            sum=sum+Date.day+pd_year(Date.year);

        else

            sum=sum+Date.day;

        return sum;

}

int main(void) {

        struct date Date;

        int n;

        printf("请输入日期(年 月 日)\n");

        scanf("%d%d%d",&Date.year,&Date.mouth,&Date.day);

        n=pd_day((Date));

        printf("该日在本年中是第%d天",n);

    }

    return 0;

}

9、输入成绩,判断ABCDE,输错三次机会

#include<stdio.h>

int main(void)

{

    int gread=0;

    int i=3;

    printf("请输入您的成绩:\n");

    scanf("%d",&gread);

    while(gread==0||gread){

        if(gread>=0&&gread<=100){

        switch(gread/10){

        case 10:

        case 9:

            printf("您的成绩是A\n");

            break;

        case 8:

            printf("您的成绩是B\n");

            break;

        case 7:

            printf("您的成绩是C\n");

            break;

        case 6:

            printf("您的成绩是D\n");

            break;

        case 5:

        case 4:

        case 3:

        case 2:

        case 1:

        case 0:

            printf("您的成绩是E\n");

            break;

        default:

            break;

        }

        }else

        {

            --i;

           if(i>0){ 

            printf("输入错误,您还有%d次输入机会!\n",i);}

           else{

               break;

           }

         }

         scanf("%d",&gread);

    }

    return 0;

}

 

C语言学习记录【7月】

标签:

原文地址:http://www.cnblogs.com/10-19-92/p/4641648.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!