if((n%2==1)||n<4) {
printf(\数据输入出错\\n\ exit(0); } p=1; do {
p=p+1; q=n-p; p_flag=1;
for(i=2;i<=sqrt(p);i++) {
if(p%i==0) {
p_flag=0; break; } }
q_flag=1;
for(i=2;i<=sqrt(q);i++) {
if(q%i==0) {
q_flag=0; break; } }
}while(p_flag*q_flag==0);
printf(\ return 0; }
23.判断一个正整数是否为回文数。回文数是这样的数:一个正整数从左往右读和从右往左读都是一样的数(如121,123321)
#include
int n,m=0,k; do {
scanf(\ if(n<=0)
printf(\数据输入错误,请重新输入!\\n\ }while(n<=0); k=n;
while(k!=0) {
m=m*10+k; k=k/10;
}
}
if(n==m)
printf(\是回文数!\\n\else
printf(\不是回文数!\\n\return 0;
2358,-,,-,123524.求分数数列
,前20项之和。
#include
int main() {
int a=2,b=1,s=1,i; double sum=0.0; for(i=1;i<=20;i++) {
sum=sum+s*a/(double)b; a=a+b; b=a-b; s=-s; }
printf(\数列的和为:%.4lf\\n\ return 0; }
25.有一函数:
ìx(x<1)???y=?í2x-11(1≤x<10)
?????3x11(x≥10)编写一程序,输入x,输出y值。
#include
double x,y;
scanf(\ if(x<1) y=x;
else if(x>=1&&x<10) y=2*x-11; else
y=3*x-11;
printf(\ return 0; }
26.从键盘上输入3个整数,求最小的数。 #include
int main() {
double x,y,z,min;
scanf(\ if(x>y) min=y; else
min=x; if(min>z) min=z;
printf(\ return 0; }
27.输入某人的出生日期,计算并显示其出生的当天是星期几。(注:要计算出生日是星期几,首先要计算出出生前一年的12月31日是星期几,其计算公式如下
骣犏(year-1)犏(year-1)犏(year-1)÷?(year-1)*365+犏-犏+犏%7,如果是闰年出生的且出生÷?÷?÷犏犏犏4100400桫臌臌臌月份大于2月,则总天数要加1。) #include
int y,m,d,flag,s=0,w,i; scanf(\
flag=(y%4==0&&y0!=0||y@0==0);
w=((y-1)*365+(y-1)/4-(y-1)/100+(y-1)/400)%7; for(i=1;i<=m;i++) {
switch(i) {
case 1:s=d;break; case 2:s=31+d;break; case 3:s=59+d;break; case 4:s=90+d;break; case 5:s=120+d;break; case 6:s=151+d;break; case 7:s=181+d;break; case 8:s=212+d;break; case 9:s=243+d;break; case 10:s=273+d;break; case 11:s=304+d;break; case 12:s=334+d;break; } }
if(flag==1&&m>2)
s=s+1; s=(w+s)%7; if(s==0)
printf(\星期日\\n\else
printf(\星期%d\\n\ return 0; }
28.企业发放的奖金根据利润提成:利润低于或等于10万元时,奖金可提10%;利润高于10万元低于20万元时,低于10万元的部分按10%提成,高于10万元的部分可提成7.5%;20万到40万之间时,高于20万元的部分可提成5%;40万到60万之间时,高于40万元的部分可提成3%;60万到100万之间时,高于60万元的部分可提成1.5%;高于100万元时,超过100万元的部分按1%提成。从键盘输入当月利润,求应发放奖金总数。 #include
float p,r;
scanf(\ if(p<=10) r=p*0.1;
else if(p>10&&p<=20)
r=10*0.1+(p-10)*0.075; else if(p>20&&p<=40)
r=10*0.1+10*0.075+(p-20)*0.05; else if(p>40&&p<=60)
r=10*0.1+10*0.075+20*0.05+(p-40)*0.03; else if(p>60&&p<=100)
r=10*0.1+10*0.075+20*0.05+20*0.03+(p-60)*0.015; else if(p>100)
r=10*0.1+10*0.075+20*0.05+20*0.03+40*0.015+(p-100)*0.01; printf(\ return 0; }
29.输入字符,并以回车结束。将其中的小写字母转换成大写字母,而其他字符不变。 #include
char c;
while((c=getchar())!='\\n') {
if(c>='a'&&c<='z') c=c-32; putchar(c); }