因为程序很简单,所以就只加了必要的说明,没有逐句的详细注释,相信你应该很容易就看明白的,呵呵。程序代码如下,仅供参考:
#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程序代码,只要符合要求即可等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)