请教大家一道C语言编程题目,小弟不会,救命啊~
float mypow(float a,int n) //递归求法{ if (n==1) return a; return a*mypow(a,n-1);}
#include
#include
int month_day[13] = {0,31,28,31,30,31,30,31,31,30,31,30,31};
int CallWeek(int year, int month, int day); //计算某年某月某日是星期几
int CheckYearMonthDay(int year, int month, int day); //检查年-月-日是否有效
void ShowCalendar(int week, int month, int day);
void main()
{
// int week;
int year;
int month;
int day;
for(;;)
{
system("cls");
printf("请输入查询的日期(年-月-日):");
scanf("%d-%d-%d", &year, &month, &day);
if(CheckYearMonthDay(year, month, day))
{
printf("日期输入错误
");
}
else
{
// week = CallWeek(year, month, day);
// printf("%s
", WEEK[week]);
ShowCalendar(CallWeek(year, month, day), month, day);
}
system("pause");
}
}
//*************start CheckYearMonthDay()***************//
int CheckYearMonthDay(int year, int month, int day)
{
if(year 12 || day < 0)
{
return 1;
}
else
{
if(year % 4 == 0 && year % 100 != 0 || year % 400 == 0)
{
if(day > (month_day[month] + 1))
{
return 1;
}
else
{
month_day[2] = 29;
return 0;
}
}
else
{
if(day > month_day[month])
return 1;
else
return 0;
}
}
}
//***********end CheckYearMonthDay()*****************//
int CallWeek(int year, int month, int day)
{
int week;
int century;
if(month == 1 || month == 2)
{
month += 12; //月份为1或2月当成13或14月
year -= 1; //提前一年
}
century = year / 100 + 1; //那年所处的世纪
year = year / 10 % 10 * 10 + year % 10; //那年的最后两位
week=(year+(int)(year/4)+(int)((century-1)/4)-2*(century-1)+(int)(26*(month+1)/10)+day-1);
week = week % 7;
printf("week == %d
", week);
if(week >= 7)
{
week -= 7;
}
else
if(week >= -6 && week <= -1)
{
week += 7;
}
return week;
}
void ShowCalendar(int week, int month, int day)
{
char WEEK[7][7] = {"星期日","星期一","星期二","星期三","星期四","星期五","星期六"};
int i,j;
int wb;
int tmp_day;
for(i = day; i != 1; i--)
{
if(week == 0)
week = 6;
else
week--;
}
tmp_day = i;
for(i = 0; i < 7; i++)
{
printf("%s ", WEEK[i]);
}
printf("
");
wb = week;
for(i = 0; i < 6; i++)
{
for(j = 0; j <= 6; j++)
{
if(wb == 0)
{
if(j == week)
{
if(tmp_day != day)
printf("%6d", tmp_day);
else
printf(" ->%2d", tmp_day); //特别显示查找的day
tmp_day++;
if(tmp_day > month_day[month])
break;
if(week == 6)
week = 0;
else
week++;
}
}
else
{
printf("");
wb--;
}
}
printf("
");
if(tmp_day > month_day[month])
break;
}
}
//以前做练习写的 送你吧。。不过没有300-500行 不过这个没有农历, 只是查星期几而已 呵呵
#include "math.h"
void Compute1(double,int);//方式一,公积金
void Compute2(double,int);//方式二,商业
void Compute3(double,int);//方式三,混合
void main()
{
double Sum;//购房总款(元)
int choose,qx;//choose按揭方式,qx贷款期限(年)
cout<<"选择按揭方式:1公积金 2商业性贷款 3混合性贷款\n";
cin>>choose;
cout<<"输入购房款总额(元)及贷款期限(年)\n";
cin>>Sum>>qx;
switch(choose)
{
case 1:Compute1(Sum,qx);break;
case 2:Compute2(Sum,qx);break;
case 3:Compute3(Sum,qx);break;
default:cout<<"输入错误\n";break;
}
}
void Compute1(double Sum,int qx)
{
if(qx<=0) {cout<<"期限不能为负\n";return;}
double sf,pay,rate;//sf首付,pay每月还款,rate(月利息+1)
pay=0;
sf=Sum*0.3+Sum*0.02+Sum*0.7*(0.0005+0.003);
if(qx<=5) rate=0.036/12+1;
else rate=0.0405/12+1;
pay=Sum*0.7*(rate-1)*pow(rate,qx*12)/(pow(rate,qx*12)-1);
cout<<"首付款:"<<sf<<"每月还款:"<<pay<<endl;
}
void Compute2(double Sum,int qx)
{
if(qx<=0) {cout<<"期限不能为负\n";return;}
double sf,pay,rate;//sf首付,pay每月还款,rate(月利息+1)
pay=0;
sf=Sum*0.2+Sum*0.02+Sum*0.8*(0.0005+0.003);
if(qx<=5) rate=0.0477/12+1;
else rate=0.0504/12+1;
pay=Sum*0.8*(rate-1)*pow(rate,qx*12)/(pow(rate,qx*12)-1);
cout<<"首付款:"<<sf<<"每月还款:"<<pay<<endl;
}
void Compute3(double Sum,int qx)
{
double xe,sf,pay,rate;//xe公积金限额
sf=Sum*0.3+Sum*0.02+Sum*0.7*(0.0005+0.003);
if(qx<=0) {cout<<"期限不能为负\n";return;}
cout<<"输入公积金贷款限额:\n";
cin>>xe;
if(xe>=Sum*0.7){cout<<"请选择方式一\n";return;}
//======================公积金部分=========================================
if(qx<=5) rate=0.036/12+1;
else rate=0.0405/12+1;
pay=xe*(rate-1)*pow(rate,qx*12)/(pow(rate,qx*12)-1);
//======================商业性贷款==============================================
if(qx<=5) rate=0.0477/12+1;
else rate=0.0504/12+1;
pay+=(Sum*0.7-xe)*(rate-1)*pow(rate,qx*12)/(pow(rate,qx*12)-1);
cout<<"首付款:"<<sf<<"每月还款:"<<pay<<endl;
}
你是不是就不会c语言,按照描述把相应的语句写出来。有三中方式,你首先输出“printf”三个选项,然后判断看选择某种方式,进行计算。晕。
这很简单啊~纯模拟的题~
不会做那你在编程方面就是个白痴了
(我不会C帮不了你)
你是什么都不会还是不会算法?
问你老师咋么教的
一道简单的c语言编程题
include int main(){ double j,s=1,n=1; int a=0,b=1; printf("请输入精度:"); scanf("%lf",&j); while(n>=j) { a+=1; b+=2; n=n*a\/b; s=s+n; } printf("π≈%lf\\n",2*s);} 不过输入0.001的输出和你的例子不一样。仅供参考。你的代码修改如下: #include ...
一道c语言编程题,各位大神帮帮忙啊!
代码如下:include <stdio.h>#include <stdlib.h>int main() {int score = 0, sum = 0, max = 0, min = 100, count = 0, aver = 0;printf("请输入学生成绩:");scanf("%d", &score);while (score >= 0 && score <= 100) {sum += score;if (score > max) {max = score...
一道c语言编程题求大佬,如图?
void func(){ int i;for (i=15;i<50;i=i+10){ if(i%3==0)printf("%d ",i);} for (i=50;i<60;i++){ if(i%3==0)printf("%d ",i);} for (i=65;i<100;i=i+10){ if(i%3==0)printf("%d ",i);} printf("\\n");} int main(){ func();return 0;} ...
一道简单的C语言编程
main(){ int i,j,k,n;printf("'water flower'number is:");for(n=100;n<1000;n++){ i=n\/100;\/*分解出百位*\/ j=n\/10%10;\/*分解出十位*\/ k=n%10;\/*分解出个位*\/ if(i*100+j*10+k==i*i*i+j*j*j+k*k*k){ printf("%-5d",n);} } printf("\\n");} ...
用C语言编一道题
include "stdio.h"main(){ int i=0,sum=0;for(i=1;i<=100;i++) sum+=i;printf("%d",sum);}
C语言编程第一道大题
include <stdio.h>#include <stdlib.h>#include <string.h>#define N 256#define M 128int main(){ int i,k=0,ku=0;char arr[N];int cnt[M]={0};\/\/针对ASCII码表设一个数级,输入某个字符x,\/\/以该字符值为下标的cnt[x]作为计数器加1.从而统计整个输入字符while(fgets(arr,N,stdin...
一道C语言编程!!急急急
其实你可以建一个宏,这样无论c,n怎样变化都可以,你只要修改宏就可以。上面这位仁兄,他是在main函数里输入c,n的值,这样也是可以的。你要理解,首先是要了解print_line1、print_linei、print_linen这3个函数是干什么的,有什么用。C语言是面向过程的语言,它注重函数的封装,有时候我们使用一些...
菜鸟问一道简单的C语言编程题
完整程序如下,我加的就是定义了一个函数AREA include <stdio.h> include <math.h> \/\/函数的定义,定义area=sqrt((s*(s-a)*(s-b)*(s-c))根号下的内容,返回一个值,在主函数里调用该函数 float AREA(float s,float a,float b,float c){ float X=s*(s-a)*(s-b)*(s-c);return ...
一道C语言编程题
急!用C语言开发简单的应用系统程序,设计一个与防震、抗震救灾有关的数据管理系统要求:界面友好,使用方便;利用结构体数组实现数据结构设计;系统具有增加,查询,插入,排序、统计等... 急!用C语言开发简单的应用系统程序,设计一个与防震、抗震救灾有关的数据管理系统要求:界面友好,使用方便;利用结构体数组实现数据结构...
一道C语言编程题求解
include<stdio.h> void main() { int a,n,s,t,i;scanf("%d%d",&a,&n); s=0; t=0;for ( i=0;i<n;i++ ) { t*=10; t+=a; s-=t;} s+=t; s+=t; printf("%d\\n",s);} 首先这是一个累和的题目,完成方法就是循环n次,向求和变量s上边加n项,一般循环变量i 其次,...
宠何盐酸: 这样是可以的,形式是输入一个数跟着输出绝对值 EOF指的是end of file.是一个特定的标记 #include <stdio.h> main() { float a; while(scanf("%f",&a)!=EOF) //这个语句的意思就是用a来接收输入的数 //并以Ctrl+z结束整个程序 { if (a<0) a=-a; ...
西市区17825307456: C语言入门题目 小弟不解 求大家指点 - ?
宠何盐酸: 低八位高八位这种都是指数字转化为二进制形式后的哪几位,c2是由b得来的,b换成二进制是101000010,c2是char类型,只取低八位,也就是01000010,和十进制一样开头的0可以忽略,1000010转化为十进制是66,66是B的ACSII码
西市区17825307456: 一道c语言编程题,求教 - ?
宠何盐酸: #define NULL 0 swap(char *b,char *max,char *min) { int i; char j; for(i=1;b[i]!='\0';i++) { if(*min>b[i]) { j=*min; *min=b[i]; b[i]=j; } if(*max<b[i]) { j=*max; *max=b[i]; b[i]=*max; } } } main() { char *a=NULL; char sign=NULL; /*利用指针形式定义数组a存放输...
西市区17825307456: 请求C语言编程高手帮小弟解决一道入门题(有详细讲解更好,没有也行)?
宠何盐酸: #include <stdio.h> #include <math.h> void main() { int a,b,c,d,f,w; int n[10]={0};printf("输入一个正整数:\n"); scanf("%d",&w); f=w; a=w;if(f<100000 && f>0) { for(b=1;;b++) { if(f<10) { break; } else f=f/10; } printf("此数的位数:%d\n",b)...
西市区17825307456: C语言编程题目,小弟求教!?
宠何盐酸: 1 题#include <stdio.h> void main() { int x=10, y=12, t; printf("x=%d, y=%d\n", x, y); t=x; x=y; y=t; printf("x=%d, y=%d\n", x,y); }第二题是最后那段代码吧? 那么第二题的答案应该是9,11,9,10 方法很简单,记住++i,加号在前面,就是先把i加一...
西市区17825307456: c语言考试中,帮小弟做上一道编程题,各位大侠帮帮小弟,不甚感激! - ?
宠何盐酸: #include int main(){ double a,b,sum=0; a=1; b=2; for(int i=1;i<=50;i++) { sum+=a/b; b=a+b; a=b-a; } printf("...
西市区17825307456: 求大家帮忙!!一道C语言作业~大虾不要吝啬帮小弟?
宠何盐酸: 看来你是要做一个程序代码格式化类似的程序,最近忙着考试复习,我就不帮你写了,说一下我的思路吧,希望对你有用:先定义一个变量(如NUM,初值为0)用来记录{的数量和另一个变量(如FLAG)用来记录上一次读文件是否读到空格(...
西市区17825307456: 急!!急!!!请大家帮小弟看一下这个C程序题. - ?
宠何盐酸: #include int a=1; //这里的a是全局变量,谁都可以访问它int f(int c) { static int a=2; //这里的a是静态变量,也是全局变量,但只有本函...
西市区17825307456: 求C语言高人帮小弟解决一道C语言题目…?
宠何盐酸: 首先保证STR1有足够的空间容纳STR2 void myStrcat(char* str1,char* str2) { int i=0; int len=strlen(str1); for(; i<strlen(str2); i++) str1[len+i]=str2[i]; }
西市区17825307456: 请教一个C语言题目 - ?
宠何盐酸: #include#include void Convert(char*p){ int i; for(i=0;i<10;i++) { if (p[i]>=97=122) p[i]-=32; }}void Cat(char *p1,char *p2){ int i, j;...