- 1、本文档共9页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C语言作业部分参考答案
作业部分
循环
2.编程,输入1个正实数eps,计算并输出下式的值,直到最后一项的绝对值小于eps。
输入输出示例:Input eps:0.00001
S = 0.866967
解:
#include stdio.h
#include stdlib.h
#include math.h
void main()
{
float sig=1.0,term=1.0,sum=0.0;
float eps;
int n=1;
printf(please input the value of precision eps: \n);
scanf(%f,eps);
while(fabs(term)=eps)
{
sum=sum+term;
sig=-1*sig;
n=n+4;
term=sig*1/n;
}
printf(the sum is %f,sum);
}
数组
1.设数组a的定义如下:int a[20]={2,4,6,8,10,12,14,16};,已存入数组中的数据值已经按由小到大存放,现从键盘输入一个数据,把它插入到数组中,要求插入新数据以后,数组中值的序仍然保持不变,即升序。请编写一个程序实现上述功能。
解法一:
#include stdio.h
void main()
{
int a[20]={2,4,6,8,10,12,14,16};
int x,i,j;
printf(please input one integer value:\n);
scanf(%d,x);
for (i=0;i8;i++)
{
if (a[i]=x)
{
for (j=7;j=i;j--)
{
a[j+1]=a[j];
}
a[i]=x; break;
}
}
if (i==8)
a[i]=x;
for (i=0;i=8;i++)
{printf(%d\t,a[i]);}
}
3.编写一个程序判定用户输入的一串字符是否为“回文”,所谓回文就是这串字符正读反读都一样。例、“aba”,“bhuuhb”是回文。
解:
#include stdio.h
#include string.h
void main()
{
char string[100];
int i=0,length,j;
printf(请输入一串字符:\n);
gets(string);
length=strlen(string);
j=length-1;
printf(%s\n,string);
while (i=(length-1)/2)
{
if (string[i]==string[j])
{
i++;j--;}
else break;
}
if (i(length-1)/2)
printf(字符串%s是回文!\n,string);
else
printf(字符串%s不是回文!\n,string);
printf(\n);
}
函数
(2).写一程序,当给出年、月、日,程序可以计算该日是该年的第几天?
解:
#include stdio.h
int count_day(int,int,int);
void main()
{
int year,month,day,day_count;
printf(please input year value,month value and day value:\n);
printf(year value is:);
scanf(%d,year);
printf(month value is:);
scanf(%d,month);
printf(day value is:);
scanf(%d,day);
day_count=count_day(year,month,day);
printf(The day is in %d days in a year!\n,day_count);
}
int count_day(int y,int m,int d)
{
int flag,i,num=0;
int leap[13]={0,31,29,31,30,31,30,31,31,30,31,30,31};
int noleap[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
if((y%4==0y%400==0)||(y%4==0y%100!=0))
flag=1;
if (flag=1)
for
文档评论(0)