c语言printf("%d,%dn",a--,--b),[转载]C语言题库(2)---【考试绝对用得着】

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);

}

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值