1【程序题】
l 要求:计算1+2+…+n并将结果输出,其中n是从键盘输入的一个正整数。假设用户在运行程序后输入23并回车(n:是程序输出的提示信息),如果n>0,则运行结束后屏幕如下(其中XXX是计算结果):
n:23↙ 1+...+23=XXX Press any key to continue |
如果n<=0程序直接结束
我的答案:
#include<stdio.h>
int main()
{
int sum=0,i=0,s,n;
printf("n:");
scanf("%d",&n);
if(n>0)
{
while(i<=n)
{
sum=sum+i;
i++;
}
s=i-1;
printf("1+...+%d=%d\n",s,sum);
}
return 0;
}
2【程序题】
对于从键盘输入的任意两个整数m和n(提示符是“m,n:”),从较小数开始依次加1,累计加到较大数。即:假设m小于n,计算m+(m+1)+(m+2)+…+n的值,并将结果输出。当输入的m和n都是0时,程序结束。
我的答案:
#include<stdio.h>
int main()
{
int m,n,s,x,b,sum=0;
printf("m,n:");
scanf("%d%d",&m,&n);
s=(m<n?m:n);
b=(m<n?m:n);
x=(m<n?n:m);
if(s!=0||x!=0)
{
while(s<=x)
{
sum=sum+s;
s++;
}
printf("%d+...+%d=%d\n",b,x,sum);
}
return 0;
}
3【程序题】
计算“2/1+3/2+…+(n+1)/n”并将结果输出,其中n是从键盘输入的一个正整数。输入提示符是”n:”。要求:当n>0时,输出格式”sum=AB.XY”,结果和共占5位,保留2位小数;当n<=0时,程序输出Bye!结束。
我的答案:
#include<stdio.h>
int main()
{
int n;
double sum=0,i=1;
printf("n:");
scanf("%d",&n);
if(n>0)
{
while(i<=n)
{
sum=sum+(i+1)/i;
i++;
}
printf("sum=%5.2f\n",sum);
}
else
{
printf("Bye!\n");
}
return 0;
}
4【程序题】
要求:计算 并将结果输出,其中n是从键盘输入的一个正整数。输入提示符是”n:”。要求:当n>0时,输出格式sum=B.XY,结果保留2位小数;当n<=0时,程序输出Bye!结束。
我的答案:
#include<stdio.h>
#include<math.h>
int main()
{
int n,i;
float sum=0,a;
printf("n:");
scanf("%d",&n);
if(n<=0)
{
printf("Bye!\n");
}
else
{
for(i=1;i<=n;i++)
{
a=(1.0/i)*pow((double)-1,i+1);
sum=sum+a;
}
printf("sum=%.2f\n",sum);
}
return 0;
}
5【程序题】
要求:对于任意输入的n,计算并输出的值。其中n是从键盘输入的一个正整数,输入提示符是”n:”。要求:当n>0时,输出格式”sum=A.XY”,结果保留2位小数;当n<=0时,程序输出Bye!结束。
我的答案:
#include<stdio.h>
int main()
{
int n,pro=1,sum1=0,i;
float sum2=0;
printf("n:");
scanf("%d",&n);
if(n<=0)
{
printf("Bye!\n");
}
else
{
for(i=1;i<=n;i++)
{
sum1=sum1+i;
pro=pro*i;
sum2=(double)sum1/pro+sum2;
}
printf("sum=%.2f\n",sum2);
}
return 0;
}
6【程序题】
对于任意输入的两个正整数m和n,计算并输出m和n之间(包括m和n本身)所有“素数”之和。输入提示符是”m,n:”。要求:当m,n都大于1时,输出格式”sum=X”,X是一个整数;当m或n有一个小于等于1时,程序输出Bye!结束。注意:1不是素数,2是素数。
我的答案:
#include<stdio.h>
int main()
{
int m,n,sum=0,i,a,b,c,prime=1;
printf("m,n:");
scanf("%d%d",&m,&n);
if(m<=1||n<=1)
{
printf("Bye!\n");
}
else
{
a=(m>n?m:n);
b=(m>n?n:m);
for(i=b;i<=a;i++)
{
prime=1;
for(c=2;c<i;c++)
{
if(i%c==0)
{
prime=0;
break;
}
}
if(prime==1)
{
sum=sum+i;
}
}
printf("sum=%d\n",sum);
}
return 0;
}
7【程序题】
求s=a+aa+…+aa..a(aa..a即n个a),其中a是一个数字,n表示a的位数,a和n都由键盘输入。其中a是一个数字,n表示a的位数,n和a都由键盘输入,输入提示符分别是”n:”和”a:”;输出格式”sum=X”,X是一个整数。
要求:a必须是1到9之间的数字,n必须是正整数。当n<=0时,程序输出Bye!结束;当a不是1到9之间的数字时,程序重复出现提示符”a:”等待用户输入,直到用户输入符合要求的数为止。
我的答案:
#include<stdio.h>
#include<math.h>
int main()
{
int a,n,sum=0,i,b=0,p=1;
printf("n:");
scanf("%d",&n);
if(n<=0)
{
printf("Bye!\n");
}
else
{do
{printf("a:");
scanf("%d",&a);
}while(a<1||a>9);
for(i=1;i<=n;i++)
{
if(i>1)p*=10;
b+=a*p;
sum+=b;
}
printf("sum=%d\n",sum);
}
return 0;
}