首页 > 编程语言 > 详细

c语言实验报告

时间:2018-01-28 23:58:47      阅读:572      评论:0      收藏:0      [点我收藏+]

美大学计算机工程学院实验报告

 

课程名称:高级语言程序设计

班级:网络1713

实验成绩:

指导教师:贺冰琰

姓名:吴秋雨

 

实验项目名称:

学号:201721123087

上机实践日期:

 

 

 

 

一、目的:’掌握二维数组的定义、赋值、使用和输入输出方法 

二、实验内容:

第十一次作业:

11-3 计算天数

本题要求编写程序计算某年某月某日是该年中的第几天。

输入格式:

输入在一行中按照格式“yyyy/mm/dd”(即“年//日”)给出日期。注意:闰年的判别条件是该年年份能被4整除但不能被100整除、或者能被400整除。闰年的2月有29天。

输出格式:

在一行输出日期是该年中的第几天。

 

#include<stdio.h>

int day_of_year(int year,int month,int day);

int main ()

{

int m,year,month,day;

scanf ("%d/%d/%d",&year,&month,&day);

m=day_of_year(year,month,day);

printf ("%d",m);

return 0;

}

int day_of_year(int year,int month,int day)

{

int k,leap;

int tab[2][13]={

{0,31,28,31,30,31,30,31,31,30,31,30,31},

{0,31,29,31,30,31,30,31,31,30,31,30,31}

};

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

for(k=1;k<month;k++)

day=day+tab[leap][k];

return day;

}第十二次作业:

目的:掌握字符数组和字符串的使用。

12-6 字符串转换成十进制整数(15 分)

输入一个以#结束的字符串,本题要求滤去所有的非十六进制字符(不分大小写),组成一个新的表示十六进制数字的字符串,然后将其转换为十进制数后输出。如果在第一个十六进制字符之前存在字符“-”,则代表该数是负数。

输入格式:

输入在一行中给出一个以#结束的非空字符串。

输出格式:

在一行中输出转换后的十进制数。题目保证输出在长整型范围内

#include<stdio.h>

int main()

{

char ch[80];

int i,cnt=0,sum=0,h;

for(i=0;(ch[i]=getchar())!=‘#‘;i++){

//printf("%c\n",ch[h]);

}

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

if(ch[h]==‘x‘){

if(ch[h-1]==‘-‘)

cnt++;break;

}

}

for(h=0;h<i;h++){

//printf("%c\n",ch[h]);

if(ch[h]>=‘A‘&&ch[h]<=‘F‘){

sum=sum*16+ch[h]-65+10;

}

if(ch[h]>=‘a‘&&ch[h]<=‘f‘){

sum=sum*16+ch[h]-97+10;

}

if(ch[h]>=‘0‘&&ch[h]<=‘9‘){

sum=sum*16+ch[h]-48;

}

}

if(cnt)printf("%d",-sum);

else printf("%d",sum);

return 0;

}13-5 判断回文字符串(20 分)

本题要求编写函数,判断给定的一串字符是否为“回文”。所谓“回文”是指顺读和倒读都一样的字符串。如“XYZYX”和“xyzzyx”都是回文。

bool palindrome( char *s )

{

    int len=strlen(s);

    int k=0,i=0,j=len-1;

    while(i<j){

        if(s[i]!=s[j])

        break;

        i++;

        j--;

    }

 

    if(i>=j)

    return true;

    else

    return false;

}

第十四次作业:

目的: 熟悉递归函数的基本思想,掌握数值型与非数值型递归函数的编程问题

14-1 使用函数实现字符串部分复制(20 分)

本题要求编写函数,将输入字符串t中从第m个字符开始的全部字符复制到字符串s中。

void strmcpy( char *t, int m, char *s ) 

int n=0; 

while(n<m-1) //n>=m-1时,循环结束 

n++; 

t++; //str 字符串从第m个开始 


while(*t!=‘\0‘) 

*s=*t; //从第一个字符串的第m个元素开始 复制到第二个字符串 

t++; 

s++; 


*s=‘\0‘; 
}

第十五次作业:

目的:掌握结构体变量的定义和使用、掌握结构体数组的定义和使用、了解结构指针的定义和使用

15-1 拆分实数的整数与小数部分(15 分)

本题要求实现一个拆分实数的整数与小数部分的简单函数。

void splitfloat( float x, int *intpart, float *fracpart )
{
int *k;
float *j;
int m;
float n;
m=x;
n=x-m; 
k=&m;
j=&n;
*intpart=*k;
*fracpart=*j;
}

c语言实验报告

原文:https://www.cnblogs.com/w2871869281/p/8372877.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!