41.编程序,求方程aX2+bX+c=0的解;输入a,b,c.
#include
#include
void main()
{
float a,b,c,t;
double x1,x2;
printf("请由高次到低次顺序输入系数:n");
scanf("%f%f%f",&a,&b,&c);
t=b*b-4*a*c;
if (t<0) printf("方程无实根n");
if (t==0)
{
x1=-(b/2/a);
printf("方程有两个相等实根,x1=x2=%5.2fn",x1);
};
if (t>0)
{
x1=-(b+sqrt(t))/2/a;
x2=-(b-sqrt(t))/2/a;
printf("方程有两个不等实根,x1=%5.2f,x2=%5.2fn",x1,x2);
}
}
42.编程序,输入4个整数,按由小到大的顺序输出。
#include
#define N 4
void main()
{
int a[N],t,i,j;
printf("输入四个整数:n");
for (i=0;i
scanf("%d",&a[i]);
printf("n");
for (i=0;i
{
for
(j=0;j
if
(a[j]>a[j+1])
{
t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}
}
printf("排序后:n");
for (i=0;i
printf("%dn",a[i]);
}
43.求满足1+2+3+…+n<500中最大的N,并求其和,编写程序实现。
#include
void main()
{
int n=0,sum=0;
while(sum<500)
{
++n;
sum+=n;
}
printf("NֵΪ:%dn",n-1);
printf("1+2+3+4+......+%d<500n",n-1);
}
44.把100~200之间的不能被3整除的数输出。
#include
void main()
{
int a;
for (a=100;a<=200;a++)
if (a%3!=0)
printf("%dt",a);
}
45.求Fibonacci数列前40个数,每行输出5个,将40个Fibonacci数输出。
#include
long f(int);
void main()
{
int n,i=0;
for (n=1;n<41;n++)
{
printf ("%ldt",f(n));
i++;
if (i%5==0) printf("n");
}
}
long f(int m)
{
if (m==0)
return 0;
if (m==1)
return 1;
else
return f(m-1)+f(m-2);
}
46.按以下规律翻译密码:
将每一个字母变成它后面的字母,例如,将A变成B,B变成C,…,Z变成A,非字母字符不变,“!”作为电文结束标志。
#include
void main()
{
char ch;
printf("输入字符串:n");
while ((ch=getchar())!='!')
{
if ((ch>='a'
&&
ch<='z')||(ch>='A'
&& ch<='Z'))
if (ch=='z')
ch='a';
else if
(ch=='Z') ch='A';
else
ch=ch+1;
printf("%c",ch);
}
printf("n");
}
47.百元买百鸡问题:公鸡每只5元,母鸡每只3元,小鸡3只一元,问一百元买一百只鸡有几种买法。
#include
void main()
{
int a,b,c,n=0;
for (a=0;a<=20;a++)
for
(b=0;b<=33;b++)
for
(c=0;c<=100;c++)
if
(5*a+3*b+c==100) n++;
printf("一共有%d种n",n);
}
48.使用数组编程,计算出前20项fibonacci数列,要求一行打印5个数。
#include
long f(int);
void main()
{
int n,i=0;
for (n=1;n<21;n++)
{
printf ("%ldt",f(n));
i++;
if (i%5==0) printf("n");
}
}
long f(int m)
{
if (m==0)
return 0;
if (m==1)
return 1;
else
return f(m-1)+f(m-2);
}
49.编程序求出两个3*4矩阵的和并将原矩阵和求出的和矩阵按原矩阵的形式分别输出。
#include
void main()
{
int a[3][4],b[3][4],s[3][4],n,m;
printf("输入数组A:n");
for (n=0;n<3;n++)
{
printf("第%d行n",n+1);
for
(m=0;m<4;m++)
scanf
("%d",&a[n][m]);
}
printf("输入数组B:n");
for (n=0;n<3;n++)
{
printf("第%d行n",n+1);
for
(m=0;m<4;m++)
scanf
("%d",&b[n][m]);
}
for (n=0;n<3;n++)
{
for
(m=0;m<4;m++)
s[n][m]=a[n][m]+b[n][m];
}
printf("原数组A:n");
for (n=0;n<3;n++)
{
for
(m=0;m<4;m++)
printf("%5d",a[n][m]);
printf("n");
}
printf("n");
printf("原数组B:n");
for (n=0;n<3;n++)
{
for
(m=0;m<4;m++)
printf("%5d",b[n][m]);
printf("n");
}
printf("n");
printf("所得数组:n");
for (n=0;n<3;n++)
{
for
(m=0;m<4;m++)
printf("%5d",s[n][m]);
printf("n");
}
}
50.将一个4*3的矩阵转置,并将原矩阵和求出的转置矩阵按原矩阵的形式分别输出。
#include
void main()
{
int a[4][3],b[4][3],s[4][3],n,m;
printf("输入数组A:n");
for (n=0;n<4;n++)
{
printf("第%d行n",n+1);
for
(m=0;m<3;m++)
scanf
("%d",&a[n][m]);
}
printf("输入数组B:n");
for (n=0;n<4;n++)
{
printf("第%d行n",n+1);
for
(m=0;m<3;m++)
scanf
("%d",&b[n][m]);
}
for (n=0;n<4;n++)
{
for
(m=0;m<3;m++)
s[n][m]=a[n][m]+b[n][m];
}
printf("原数组A:n");
for (n=0;n<4;n++)
{
for
(m=0;m<3;m++)
printf("%5d",a[n][m]);
printf("n");
}
printf("n");
printf("原数组B:n");
for (n=0;n<4;n++)
{
for
(m=0;m<3;m++)
printf("%5d",b[n][m]);
printf("n");
}
printf("n");
printf("所得数组:n");
for (n=0;n<4;n++)
{
for
(m=0;m<3;m++)
printf("%5d",s[n][m]);
printf("n");
}
}
51.输入一个字符,如果它是一个大写字母,则把它变成小写字母;如果它是小写字母,则把它变成大写字母;其它字符不变,请编程。
#include
void main()
{
char ch;
ch=getchar();
if
((ch>=65)&&(ch<=90))
ch=ch+32;
else if
((ch>=97)&&(ch<=122))
ch=ch-32;
printf("%cn",ch);
}
52.已知x和y存在下列对应关系,要求对输入的每个x值,计算出y值,请编程。
y=x*(x+2),2
#include
void main()
{
float x,y;
printf("输入X值:");
scanf("%f",&x);
if (x<=-1)
{
y=x-1;
printf ("Y=%6.2fn",y);
}
else if (x<=2)
{
y=2*x;
printf ("Y=%6.2fn",y);
}
else if (x<=10)
{
y=x*(x+2);
printf ("Y=%6.2fn",y);
}
else printf("取值范围出错n");
}
53.已知x和y存在下列对应关系,要求对输入的每个x值,计算出y值,请编程。
y=0,x=a||x=-a; y=sqrt(a*a-x*x),
-aa.
#include
#include
void main()
{
float x,y,a;
printf("输入A值[A>0]:");
scanf("%f",&a);
printf("输入X值:");
scanf("%f",&x);
if ((x==a)||(x==-a)) y=0;
else if
((x-a))
y=sqrt(a*a-x*x);
else if
((xa)) y=x;
printf ("Y=%6.2fn",y);
}
54.编程判断对输入的任何一个年份是否是闰年,将结果输出。
#include
void main()
{
int n;
printf("输入年份:");
scanf("%d",&n);
if
(n%4==0&&n%100!=0||n%400==0)
printf("闰年n");
else printf ("不是闰年n");
}
55.请编制程序要求输入整数a和b,若a*a+b*b大于100,则输出a*a+b*b百位以上的数字,否则输出两数之和。
#include
void main ()
{
int a,b,c,d;
printf("请输入两个整数:n");
scanf("%d,%d",&a,&b);
printf("你输入的两个数为:%d,%dn",a,b);
c=a*a+b*b;
if(c>=100)
{
d=c/100;
printf("a*a+b*b的百位以上的数为:%dn",d);
}
else
printf("a*a+b*b=%d/n",c);
}
56.请编制程序判断输入的正整数是否既是5又是7的整倍数。若是,则输出yes;否则输出no.
#include
void main()
{
int a;
printf("请输入要验证的数:n");
scanf("%d",&a);
if(a%5==0&&a%7==0)
printf("Yesn");
else
printf("Non");
}
57.编程实现:计算1到100之间的奇数之和及偶数之和。
#include
void main ()
{
int n,even=0,odd=0;
for(n=1;n<=50;n++)
{
even+=2*n;
odd+=2*n-1;
}
printf("1到100间的偶数的和为%d:n",even);
printf("1到100间的奇数的和为%d:n",odd);
}
58.请编程实现:求100个任意整数的累加和。
59.请编程实现:求1到100之间所有能被3整除,但不能被5整除的数的和。
60.请编程实现:输入任意正整数n,计算n!并将结果输出,输出结果中没有小数部分。
61.请编程实现:计算1至50中是7的倍数的数值之和。
62.请编程实现:对任意100个整数,统计0的个数及正数的累加和。
#include
#define N 100
void main ()
{
int a,sum=0,i,frequency=0;
int s[N];
printf("请输入数据:n");
for(i=0;i
scanf("%d",&s[i]);
printf("n原始数据为:n");
for(i=0;i
printf("%dn",s[i]);
for(i=0;i
{
if(s[i]==0)
frequency+=1;
if(s[i]>0)
{
a=s[i];
sum+=a;
}
}
printf("这些数中0的个数为%dn",frequency);
printf("这些数中所有正数的和为%dn",sum);
}
63.请编程实现:输入两个整数,判断它们之间的关系(=,等),并清楚地将比较结果输出。
64.请编程实现:输入几个整数,判断其中偶数的个数,并输出结果(要求:数据的个数及原始数据由键盘输入)。
#include
#define N 20
void enter (int a[], int n)
{
int i;
printf("请输入数据:n");
for (i=0;i
scanf("%d",&a[i]);
printf("n原始数据为:n");
for (i=0;i
printf("%d",a[i]);
printf("n");
}
void main()
{
void enter (int [], int );
int i;
int a[N],n;
printf("n输入你所要的数组元素个数:n");
scanf("%d",&n);
enter (a,n);
for(i=0;i
{
if (a[i]%2==0)
printf ("其中的偶数是%dn",a[i]);
}
}
65.请编程实现:输入几个整数,判断其中奇数的个数,并输出奇数的累加和。(要求:数据的个数及原始数据由键盘输入)
#include
#define N 20
void enter (int a[], int n)
{
int i;
printf("请输入数据:n");
for (i=0;i
scanf("%d",&a[i]);
printf("n原始数据为:n");
for (i=0;i
printf("%2d",a[i]);
printf("n");
}
void main()
{
void enter (int [], int );
int i;
int a[N],n,sum=0;
printf("n输入你所要的数组元素个数:n");
scanf("%d",&n);
enter (a,n);
for(i=0;i
{
if (a[i]%2==1)
{printf
("其中的奇数是%dn",a[i]);
sum=sum+a[i];}
}printf ("奇数和是%dn",sum);
}
66.有一个两位数XY,X是十位,Y是个位;给出X+Y的值和X*Y的值;编程实现让用户猜测这个两位数十多少?根据猜测给出不同的提示。
#include
void main()
{
printf ("x+y=2n");
printf("x*y=1n");
printf("请输入你所猜得数字n");
int a;
scanf("%d", &a);
for (;a!=11;)
{printf("you are not rightn");
scanf("%d", &a);}
printf ("you are
rightn");
}
67.键盘输入的一个两位数XY,X是十位,Y是个位;请编程计算X+Y的值和X*Y的值。
#include
void main ()
{
printf ("请输入一个两位数n");
int a,x,y;
scanf ("%d",&a);
x=a/10;
y=a%10;
printf ("x+y=%dn",x+y);
printf("x*y=%dn"x*y);
}
68.用for循环语句计算1到20的和,并将结果输出。
#include
void main()
{
int i=1,sum=0;
for (;i<=20;)
{
sum=sum+i;
i++;
}
printf("1到20的和是%dn",sum);
}
69.从键盘输入一行字符,统计出输入的字符个数(注:不要使用strlun函数编程)。
#include
void main()
{ int alphabet=0,i=0;
char str[100];
printf ("请输入一个字符串n");
gets(str);
for (i=0;str[i]!=' ';i++)
++alphabet;
printf ("有%d个字母n",alphabet);
}
70.编程实现:任意输入10个数,计算所有正数的和,负数的和以及10个数的和。
#include
void main()
{ int i;
float a[10];
printf("请输入任意十个数n");
for (i=0;i<10;i++)
{
printf("a[%d]=",i);
scanf("%f",&a[i]);
}
printf("n");
printf("n原始数据为:n");
for (i=0;i<10;i++)
printf("%3f",a[i]);
float sum1=0, sum2=0, sum3=0;
for (i=0;i<10;i++)
{if (a[i]>0) sum1=sum1+a[i];
else sum2=sum2+a[i];
sum3=sum1+sum2;}
printf("正数的和是%f",sum1);
printf("负数的和是%f",sum2);
printf("总和是%f",sum3);
}