C++ 语言 求代码

C++ 语言 求代码,第1张

因为程序很简单,所以就只加了必要的说明,没有逐句的详细注释,相信你应该很容易就看明白的,呵呵。程序代码如下,仅供参考:

#include

"stdioh"

#include

"stringh"

#include

"stdlibh"

void

main(){

int

max,min;

char

num[20];

printf("输入数字,以空格或回车作为间隔,输入字母输入结束\n\n");

scanf("%s",num);

if(num[0]>='a'&&num[0]<='z'||num[0]>='A'&&num[0]<='Z'){//判断如果输入了字母退出

printf("你没有输入任何的数字,程序结束\n\n");

return

;

}

max=min=atoi(num);//字符串转换为整数并赋值给max和min作为初值,以便找最值并保存

while(1){

scanf("%s",&num);

if(num[0]>='a'&&num[0]<='z'||num[0]>='A'&&num[0]<='Z')//同理判断如果输入的为字母,则表明输入结束

break;

else{

if(atoi(num)>max)

max=atoi(num);

else

if(atoi(num)<min)

min=atoi(num);

}

}

printf("输入的最大的数max为:%6d;\n\n输入的最小的数min为:%6d

\n\n",max,min);

}

祝你的问题早日解决

附加说明:因为你要求的条件是输入字母结束输入,而非字符,程序也是按你的意思编写的。故当你输入非数字的字符而非字母如‘’,、?等符号时,程序中的atoi函数会将其返回值置为0,即认为你输入的非字母的字符为0。此在你运行程序中要注意。

其实蛮可以稍改动一下if语句的条件即可保证只要输入字符就让其结束输入,很简单,留给你自己吧。

#define PI 31415926 #include<mathh> #include<iostream> using namespace std; int days_of_month_1[]={31,28,31,30,31,30,31,31,30,31,30,31}; int days_of_month_2[]={31,29,31,30,31,30,31,31,30,31,30,31}; long double h=-0833; //定义全局变量 void input_date(int c[]){ int i; cout<<"Enter the date (form: 2009 03 10):"<<endl; for(i=0;i<3;i++){ cin>>c[i]; } } //输入日期 void input_glat(int c[]){ int i; cout<<"Enter the degree of latitude(range: 0°- 60°,form: 40 40 40 (means 40°40′40″)):"<<endl; for(i=0;i<3;i++){ cin>>c[i]; } } //输入纬度 void input_glong(int c[]){ int i; cout<<"Enter the degree of longitude(west is negativ,form: 40 40 40 (means 40°40′40″)):"<<endl; for(i=0;i<3;i++){ cin>>c[i]; } } //输入经度 int leap_year(int year){ if(((year%400==0) || (year%100!=0) && (year%4==0))) return 1; else return 0; } //判断是否为闰年:若为闰年,返回1;若非闰年,返回0 int days(int year, int month, int date){ int i,a=0; for(i=2000;i<year;i++){ if(leap_year(i)) a=a+366; else a=a+365; } if(leap_year(year)){ for(i=0;i<month-1;i++){ a=a+days_of_month_2[i]; } } else { for(i=0;i<month-1;i++){ a=a+days_of_month_1[i]; } } a=a+date; return a; } //求从格林威治时间公元2000年1月1日到计算日天数days long double t_century(int days, long double UTo){ return ((long double)days+UTo/360)/36525; } //求格林威治时间公元2000年1月1日到计算日的世纪数t long double L_sun(long double t_century){ return (280460+36000770t_century); } //求太阳的平黄径 long double G_sun(long double t_century){ return (357528+35999050t_century); } //求太阳的平近点角 long double ecliptic_longitude(long double L_sun,long double G_sun){ return (L_sun+1915sin(G_sunPI/180)+002sin(2G_sunPI/180)); } //求黄道经度 long double earth_tilt(long double t_century){ return (234393-00130t_century); } //求地球倾角 long double sun_deviation(long double earth_tilt, long double ecliptic_longitude){ return (180/PIasin(sin(PI/180earth_tilt)sin(PI/180ecliptic_longitude))); } //求太阳偏差 long double GHA(long double UTo, long double G_sun, long double ecliptic_longitude){ return (UTo-180-1915sin(G_sunPI/180)-002sin(2G_sunPI/180)+2466sin(2ecliptic_longitudePI/180)-0053sin(4ecliptic_longitudePI/180)); } //求格林威治时间的太阳时间角GHA long double e(long double h, long double glat, long double sun_deviation){ return 180/PIacos((sin(hPI/180)-sin(glatPI/180)sin(sun_deviationPI/180))/(cos(glatPI/180)cos(sun_deviationPI/180))); } //求修正值e long double UT_rise(long double UTo, long double GHA, long double glong, long double e){ return (UTo-(GHA+glong+e)); } //求日出时间 long double UT_set(long double UTo, long double GHA, long double glong, long double e){ return (UTo-(GHA+glong-e)); } //求日落时间 long double result_rise(long double UT, long double UTo, long double glong, long double glat, int year, int month, int date){ long double d; if(UT>=UTo) d=UT-UTo; else d=UTo-UT; if(d>=01) { UTo=UT; UT=UT_rise(UTo,GHA(UTo,G_sun(t_century(days(year,month,date),UTo)),ecliptic_longitude(L_sun(t_century(days(year,month,date),UTo)),G_sun(t_century(days(year,month,date),UTo)))),glong,e(h,glat,sun_deviation(earth_tilt(t_century(days(year,month,date),UTo)),ecliptic_longitude(L_sun(t_century(days(year,month,date),UTo)),G_sun(t_century(days(year,month,date),UTo)))))); result_rise(UT,UTo,glong,glat,year,month,date); } return UT; } //判断并返回结果(日出) long double result_set(long double UT, long double UTo, long double glong, long double glat, int year, int month, int date){ long double d; if(UT>=UTo) d=UT-UTo; else d=UTo-UT; if(d>=01){ UTo=UT; UT=UT_set(UTo,GHA(UTo,G_sun(t_century(days(year,month,date),UTo)),ecliptic_longitude(L_sun(t_century(days(year,month,date),UTo)),G_sun(t_century(days(year,month,date),UTo)))),glong,e(h,glat,sun_deviation(earth_tilt(t_century(days(year,month,date),UTo)),ecliptic_longitude(L_sun(t_century(days(year,month,date),UTo)),G_sun(t_century(days(year,month,date),UTo)))))); result_set(UT,UTo,glong,glat,year,month,date); } return UT; } //判断并返回结果(日落) int Zone(long double glong){ if(glong>=0) return (int)((int)(glong/150)+1); else return (int)((int)(glong/150)-1); } //求时区 void output(long double rise, long double set, long double glong){ if((int)(60(rise/15+Zone(glong)-(int)(rise/15+Zone(glong))))<10) cout<<"The time at which the sun rises is "<<(int)(rise/15+Zone(glong))<<":0"<<(int)(60(rise/15+Zone(glong)-(int)(rise/15+Zone(glong))))<<" \n"; else cout<<"The time at which the sun rises is "<<(int)(rise/15+Zone(glong))<<":"<<(int)(60(rise/15+Zone(glong)-(int)(rise/15+Zone(glong))))<<" \n"; if((int)(60(set/15+Zone(glong)-(int)(set/15+Zone(glong))))<10) cout<<"The time at which the sun sets is "<<(int)(set/15+Zone(glong))<<": "<<(int)(60(set/15+Zone(glong)-(int)(set/15+Zone(glong))))<<" \n"; else cout<<"The time at which the sun sets is "<<(int)(set/15+Zone(glong))<<":"<<(int)(60(set/15+Zone(glong)-(int)(set/15+Zone(glong))))<<" \n"; } //打印结果 int main(){ long double UTo=1800; int year,month,date; long double glat,glong; int c[3]; input_date(c); year=c[0]; month=c[1]; date=c[2]; input_glat(c); glat=c[0]+c[1]/60+c[2]/3600; input_glong(c); glong=c[0]+c[1]/60+c[2]/3600; long double rise,set; rise=result_rise(UT_rise(UTo,GHA(UTo,G_sun(t_century(days(year,month,date),UTo)),ecliptic_longitude(L_sun(t_century(days(year,month,date),UTo)),G_sun(t_century(days(year,month,date),UTo)))),glong,e(h,glat,sun_deviation(earth_tilt(t_century(days(year,month,date),UTo)),ecliptic_longitude(L_sun(t_century(days(year,month,date),UTo)),G_sun(t_century(days(year,month,date),UTo)))))),UTo,glong,glat,year,month,date); set=result_set(UT_set(UTo,GHA(UTo,G_sun(t_century(days(year,month,date),UTo)),ecliptic_longitude(L_sun(t_century(days(year,month,date),UTo)),G_sun(t_century(days(year,month,date),UTo)))),glong,e(h,glat,sun_deviation(earth_tilt(t_century(days(year,month,date),UTo)),ecliptic_longitude(L_sun(t_century(days(year,month,date),UTo)),G_sun(t_century(days(year,month,date),UTo)))))),UTo,glong,glat,year,month,date); output(rise,set,glong); system("pause"); return 0; }

x=[1 3 5 -1]';

n=length(x);

for i=1:n;

if x(i)>2

y(i)=fun1(x(i));

else

y(i)=fun2(x(i));

end

end

y

这是主程序。下面两个分别保存成M文件

function y = fun1(x)

y=xx+1;

end

function y = fun2(x)

y=x-1;

end

刚编了一个:把12枚银币编号,1,2,3,12,每次称重的时候,按照程序提示进行,输入称重结果,就可以了。

运行结果:

5、6、7、8

1、2、3、4:

(输入:0等,1轻,2重)2

3、4、6

1、2、5:

(输入0等,1轻,2重)1

5、4

11、12

(输入0:等,1轻,2重)2

假币5重

源程序:

#include

<stdioh>

void

badcoin(int

x,

int

a)

{

switch(a)

{

case

0:

printf("错误输入");

break;

case

1:

printf("假币%d轻",x);

break;

case

2:

printf("假币%d重",x);

break;

}

}

void

badcoin1(int

x)

{

int

a,

good;

for(good=1;

good==x;

good++){}

printf("%d是假币,

%d

%d

(输入:1轻,2重)",x,x,good);

scanf("%d",&a);

badcoin(x,a);

}

void

badcoins2(int

x,

int

y,

int

a)

{

int

b,

good;

for(good=1;

good==x

||

good==y;

good++){}

printf("%d,%d当中有一个假币",x,y);

switch(a)

{

case

1:

printf("(轻),其中

%d

%d

(输入0:等,1轻)",x,good);

break;

case

2:

printf("(重),其中

%d

%d

(输入0:等,2重)",x,good);

break;

}

scanf("%d",&b);

if(b==0

||

b==a)

{

switch(b)

{

case

0:

badcoin(y,a);

break;

case

1:

case

2:

badcoin(x,b);

break;

}

}

else

{

printf("输入错误\n");

}

}

void

badcoins3(int

x,

int

y,

int

z,

int

a)

{

/

z偏a,或者x和y当中一个偏非a

/

int

b;

printf("%d、%d

11、12

(输入0:等,1轻,2重)",z,y);

scanf("%d",&b);

if(b==0)

badcoin(x,a==12:1);

else

badcoin(b==az:y,b);

}

main()

{

int

a,b;

printf("5、6、7、8

1、2、3、4:

(输入:0等,1轻,2重)");

scanf("%d",&a);

if(a==0)

{

printf("9、10、11

1、2、3:

(输入0等,1轻,2重)");

scanf("%d",&a);

if(a==0)

{

badcoin1(12);

}

else

{

printf("10

9(输入0等,1轻,2重)");

scanf("%d",&b);

if(b==0)

badcoin(11,a);

else

badcoin(a==b10:9,a);

}

}

else

{

printf("3、4、6

1、2、5:

(输入0等,1轻,2重)");

scanf("%d",&b);

if(b==0)

{

badcoins2(7,8,a);

}

else

{

if(a==b)

badcoins3(1,2,6,a);

else

badcoins3(3,4,5,a);

}

}

}

#include "stdafxh"

#include "stdlibh"

int _tmain(int argc, _TCHAR argv[])

{

 int decimal;

 int hex;

 int num[20];

 int count = 0;

 int i;

 char ch;

 //ch = 'a';

 //printf("%d", ch);

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

 {

  num[i] = -1;

 }

printf("please input the decimal number:\n");

 scanf_s("%d",&decimal);

printf("\n");

 printf("please input the system you are going to transform(2 to 16):\n");

 scanf_s("%d",&hex);

printf("\n");

 printf("\n");

while (decimal >= hex)

 {

  num[count] = decimal - int(decimal / hex) hex;

  if (num[count] == 10)

   num[count] = 'a';

  

  if (num[count] == 11)

   num[count] = 'b';

if (num[count] == 12)

   num[count] = 'c';

if (num[count] == 13)

   num[count] = 'c';

if (num[count] == 14)

   num[count] = 'd';

if (num[count] == 15)

   num[count] = 'e';

  decimal = int(decimal / hex);

  count = count++;

 }

num[count] = decimal;

 count = 0;

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

 {

  if (num[i] >= 0)

   count = count++;

  else

   break;

 }

printf("corresponding hex number is :\n");

for (i = count-1; i >= 0; i--)

 {

  if (num[i] >= 'a' && num[i] <= 'e')

   printf("%c", num[i]);

  else

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

 }

printf("\n");

system("pause");

}

//看一下下面的程序

#include "stdafxh"

void printmonth(int m);//打印月历

void printheed(int m);//输出日期“一 二”

int daysofmonth(int m);//每月的第一天是周几

int isleep(int y);//是否闰年

int firstday(int y);//该年的第一天

int year,weekday;

void main()

{

int i;

printf("输入年份:");

scanf("%d",&year);

weekday=firstday(year);

printf("\n\n");

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

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

{printmonth(i);

printf("\n");

getchar();

}

printf("\n\n");

}

void printmonth(int m)

{

int i,days;

printheed(m);

days=daysofmonth(m);

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

{

printf("%5d",i);

weekday=(weekday+1)%7;

if(weekday==0)

{

printf("\n ");

}

}

}

void printheed(int m)

{

int i;

printf("\n%d 月 日 一 二 三 四 五 六\n",m);

printf(" ");

for(i=0;i<weekday;i++)

printf(" ");

}

int daysofmonth(int m)

{ switch (m)

{ case 1:

case 3:

case 5:

case 7:

case 8:

case 10:

case 12: return 31;

case 4:

case 6:

case 9:

case 11: return 30;

case 2:if (isleep(year))

return 29;

else

return 28;

}

return 0;

}

int isleep(int y)

{return ((y%4==0&&y%100!=0)||y%400==0);}

int firstday(int y)

{

long n=y365;

int i;

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

n+=isleep(i);

return n%7;

}

这几题都简单:新手就这样做

1:

#include<stdioh>

void main()

{printf("%d,%o,%x",0,0,0);

printf("%d,%o,%x",9,9,9);

printf("%d,%o,%x",A,A,A);

printf("%d,%o,%x",Z,Z,Z);

}

2:

#include<stdioh>

void main()

{int a,b,t;

scanf("%d,%d",&a,&b);

t=a;a=b;b=t;

printf(%d,%d",a,b);

}

3:

#include<stdioh>

void main()

{float a;

scanf("%f",&a);

printf("%2f",a);

}

注意第三题最后一句中的%2f,中间有一个点

#include<stdioh>

#include<stdlibh>

#include<stringh>

void

main()

{

int

a,b,d,f;

char

c[4],e[5]="EXIT";

while(true)

{printf("BEGIN(开始)EXIT(退出):");

scanf("%s",c);

while(strcmp(c,e)!=0)

{printf("请输入a和b:");

scanf("%d

%d",&a,&b);

d=a+b;

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

printf("是否继续[1是;0否]:");

scanf("%d",&f);

if(f==0)

break;

else

continue;

}

if(strcmp(c,e)==0)

printf("结束\n");

printf("按回车返回开头");

fflush(stdin);

getchar();

system("cls");

}

}

你题意不是太明确,我随意编了一个不知道是不是你想要的。

以上就是关于C++ 语言 求代码全部的内容,包括:C++ 语言 求代码、求程序代码、求一个简单的matlab程序代码,只要符合要求即可等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/10220074.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-06
下一篇 2023-05-06

发表评论

登录后才能评论

评论列表(0条)

保存