大连理工大学C语言第二次上机第二次作业

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
case 2:printf("");break;
case 3:printf("");break;
case 4:printf("");break;
case 5:printf("");break;
case 6:printf("");break;
default:break;
}
while(1)
{
if(i>day) break;
case 6:h=31+28+31+30+31;day=30;break;
case 7:h=31+28+31+30+31+30;day=31;break;
case 8:h=31+28+31+30+31+30+31;day=31;break;
case 9:h=31+28+31+30+31+30+31+31;day=30;break;
if (fa*fb<=0)
{
do
{
c=(a+b)/2.0;
fc=function(c);
if(fc*fa<0)
{
b=c;
fb=fc;
}
if(fc==0) break;
if(fa==0)
{
c=a;
break;
}
if(fb==0)
{
c=b;
break;
}
if(fc*fa>0)
{
a=c;
fa=fc;
}
}
while(fabs(a-b)>=0.000000001);
else
{
month = month + 1;
day = 1;
}
}
else
{
day += 1;
}
printf("%d-%d-%d",year,month,day);
return 0;
}
结果:
7.输出以下图案
*
***
*****
*******
*****
***
*
代码:
#include <stdio.h>
int main()
char choice;
while(1)
{
printf("Enter month in 2017 to display calendar (1-12): ");
scanf("%d",&mon_);
if(mon_ > 12)
{
printf("\nERROR--- Enter month in range of (1-12)!\n");
Enter month in 2017to display calendar (1-12):8
****************************************************
SUN MON TUE WED THU FRI SAT
1 2 3 4 5
6 7 8 9 10 11 12
{
printf(" * \n");
printf(" *** \n");
printf(" ***** \n");
printf("*******\n");
printf(" ***** \n");
printf(" *** \n");
printf(" * \n");
return 0;
}
结果:
19 20 21 22 23 24 25
26 27 28 29 3031
Would you like to display another month (y/n) ? y
Enter month in 2017to display calendar (1-12): 13
ERROR--- Enter month in range of (1-12)!
}
}
if (k == 0)
{
s += i;
}
}
s = s-1;
printf("%d\n",s);
return 0;
}
结果:
2.
输入整数x(x0),计算并输出结果(保留4位小数)。例:输入3,输出20.0855
代码:
#include<stdio.h>
#include<math.h>
int JieCheng(int n);
}
}
else if ((day==29)&&(month=2))
{
month = month + 1;
day = 1;
}
else if ((day==28)&&(month=2))
{
if((year%4 == 0 && year%100!=0)||(year%400 == 0)) day = day + 1;
else printf("\nCorrect!\n");
return 0;
}
结果:
4.用二分法求方程2x3-4x2+3x-6=0在(a,b)之间的根。
例:输入Please input the lower and upper boundaries: 3 10
输出No root in this boundary!
while(i<=day&&i+st<=n*7)
{
printf("%d\t",i);
i=i+1;
}
printf("\n");
n = n+1;
}
printf("\nWould you like to display another month (y/n) ? ");
}
int main()
{
int mon_;
{
month += 1;
day = 1;
}
else if(day==30)
{
if(month==12||month==10||month==8||month==7||month==5||month==3||month==1)
{
day = day+1;
}
else
{
month = month + 1;
day = 1;
case 10:h=31+28+31+30+31+30+31+30;day=31;break;
case 11:h=31+28+31+30+31+30+31+31+30+31;day=30;break;
case 12:h=31+28+31+30+31+30+31+31+30+31+30;day=31;break;
Please input the lower and upper boundaries: 1 5
The root is 2.00
代码:
#include <stdio.h>
#include <math.h>
float function(float x)
{
float f;
f=2*x*x*x-4*x*x+3*x-6;
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
Would you like to display another month (y/n) ? N
代码:
#include <stdio.h>
#include <stdlib.h>
void print_days(int mon)
break;
case 3:
a1 = a;
b1 = b;
c = a1/b1;
c = (int)(c*100+0.5)/100.0;
printf("保留两位小数\n%d/%d= ",a,b);
break;
}
scanf("%lf",&d);
d = (int)(d*100)/100.0;
if (c==d) printf("\nRight!\n");
continue;
}
else
{
print_days(mon_);
getchar();
scanf("%c",&choice);
if (choice=='y') continue;
if (choice=='n') break;
}
}
return 0;
}
结果:
6.日期显示:输入今天的日期,输出明天的日期。
例:输入 2017-12-31, 输出 2018-01-01,输入 2000-02-28, 输出 2000-02-29
}
printf("%.4f",e);
return 0;
}
int JieCheng(int n)
{
int i;
double sum=1;
for(i=1;i<=n;i++)
sum=sum*i;
return sum;
}
结果:
3.计算机自动出0-9之间的四则运算(+ - * /)计算题;由用户输入结果,然后自动批改结果是否正确。(采用生成随机数方式确定)
default:break;
}
printf("****************************************************\n");
printf("SUN\tMON\tTUE\tWED\tTHU\tFRI\tSAT\n");
st = h % 7;
switch(st)
{
case 1:printf("");break;
b = rand()%10;
i = rand()%4;
switch(i)
{
case 0:
c = a + b;
printf("%d+%d= ",a,b);
break;
case 1:
c = a - b;
printf("%d-%d= ",a,b);
break;
case 2:
c = a * b;
printf("%d*%d= ",a,b);
{
int i=1,n=1,h,day,st;
switch (mon)
{
case 1:h=7;day=31;break;
case 2:h=31;day=28;break;
case 3:h=31+28;day=31;break;
case 4:h=31+28+31;day=30;break;
case 5:h=31+28+31+30;day=31;break;
return f;
}
int main()
{
float a,b,c,fa,fb,fc;
while(1)
{
printf("Please input the lower and upper boundaries:");
scanf("%f%f",&a,&b);
fa=function(a);
fb=function(b);
Enter month in 2017to display calendar (1-12):3
****************************************************
SUN MON TUE WED THU FRI SAT
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
例:自动生成3+9= 12(用户输入结果后回车),显示Correct!
代码:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
int a,b,i;
double c,d,a1,b1;
srand(time(NULL));
a = rand()%10;
int main()
{
int x,n=1;
float e,Xiang;
scanf("%d",&x);
e = 1 + x;
Xiang = pow(x,n)/JieCheng(n);
while(Xiang >= 0.000001)
{
n++;
Xiang = pow(x,n)/JieCheng(n);
e = e + Xiang;
第二次上机作业(2020)
1.求30以内的所Leabharlann Baidu素数之和。
代码:
#include<stdio.h>
#define MAX 30
int main()
{
int n=1,i,j,k,s=0;
for(i=1;i<=30;i++)
{
k = 0;
for(j=2;j<i;j++)
{
if (i % j == 0)
{
k++;
printf("\nThe root is %.2f\n",c);
break;
}
else
{
printf("No root in this boundary!\n");
}
}
return 0;
}
结果:
5.日历显示:编程反复显示2017年各月份日历。(程序可以设定2017年1月1号为星期日)。
程序运行输出示例如下:
代码:
#include <stdio.h>
int main()
{
int year,month,day;
scanf("%d%d%d",&year,&month,&day);
if((day==31)&&(month==12))
{
year += 1;
month = 1;
day = 1;
}
else if((day==31)&&(month!=12))
相关文档
最新文档