您的当前位置:首页正文

c语言编程题

2020-11-21 来源:好走旅游网


1、求1+2+3+……….+100。(循环)

答案

#include

void main()

{

int i,sum=0;

for(i=1;i<=100;i++)

sum=sum+i;

printf(\"%d\

}

2、 求1*2*3*……….*10。(循环)

答案

void main()

{

int i=0,j=1;

for (i=2;i<=10;i++)

{

j*=i;

}

printf(\"%d\

return 0;

}

3、 输入三个数字,输出他们的最大值。(if)

答案

#include

void main()

{int a,b,c,d;

scanf(\"%d,%d,%d\

d=max(a,b,c);

printf(\"max=%d\

getch();/*暂停看运行结果*/

}

int max(int x,int y,int z)

{int u;

if(x>=y&&x>=z)

u=x;

else if(y>=x&&y>=z)

u=y;

else

u=z;

return(u);

4.用起泡法对十个数据排序(数组实现)

答案

#include

main ( )

{ int i,j,t;

static int a[10]={5,7,4,2,3,6,1,0,9,8};

for(j=0;j<9;j++)

{ for(i=0;i<9-j;i++)

{ if(a>a)

{ t=a;a=a;a=t ;

}

}

}

for(i=0;i<10;i++)

printf(\"%2d\

}

5、输入十个数字,逆序输出。(数组实现)

答案

#include

main()

{int a[10],i=0;

for(i=0;i<=9;i++)

scanf(\"%f\

printf(\"\\n\");

for(i=9;i>=0;i--)

printf(\"%f\

}

6输入两个数,交换他们的值并输出。答案

#include

int main ()

{

int m,n,temp;

scanf(\"%d%d\

if (m{

temp=m;

元素交换)

(

m=n;

n=temp;

}

printf(\"%d\

return 0;

}

7.输出9*9乘法表。(双层循环)

答案

#include

void main()

{

int i=1;

for(i; i<=9; i++)

{

int j=1;

for(j;j<=i;j++)

{

printf(\"%d*%d=%d \

}

printf(\"\\n\");

}

}

8.输入一行字符,将所有的小写字母转换成大写字母,大写字母转换成小写字母,其余字符不变。输出转变后的这行字符。

答案

#include \"stdio.h\"

void main()

{

char a[n];

int i;

scanf(\"%s\

printf(\"大写为:\");

for(i=0;i<=n;i++)

{

if(a<='z'&&a>='a')

a=a-32;

printf(\"%c\

}

printf(\"\\n小写为:\");

for(i=0;i<=3;i++)

{

a=a+32;

printf(\"%c\

}

}

9、 编写一个简单计算器程序,要求能够完成两个数的+,-,*,/四种运算。输出运算式及运算结果。(switch)

6.2

#include\"stdio.h\"

main()

{char c;int i=0,j=0,k=0,l=0;

while((c=getchar())!=’\\n’)

{if(c>=65&&c<=90||c>=97&&c<=122) i++;

else if(c>=48&&c<=57) j++;

else if(c==32) k++;

else l++;}

printf(\"i=%d,j=%d,k=%d,l=%d\\n\

}

6.6

#include\"math.h\"

main()

{int x=100,a,b,c;

while(x>=100&&x<1000) {a=0.01*x;b=10*(0.01*x-a);c=x-100*a-10*b;

if(x==(pow(a,3)+pow(b,3)+pow(c,3))) printf(\"%5d\

}

6.7

main()

{int m,i,j,s;

for(m=6;m<10000;m++)

{s=1;

for(i=2;iif(m%i==0) s=s+i;

if(m-s==0)

{printf(\"%5d its fastors are 1 \j=2;jprintf(\"%d \

}

}

main()

{int m,i,j,s;

for(m=6;m<1000;m++)

{s=m-1;

for(i=2;iif(m%i==0) s=s-i;

if(s==0)

{printf(\"%5d its fastors are 1 \j=2;jprintf(\"%d \

}

}

6.8

main()

{int i=1,n;double t,x=1,y=2,s,sum=0;

scanf(\"%ld\

while(i<=n) {s=y/x;sum=sum+s;t=y;y=y+x;x=t;i++;}

printf(\"%f\\n\

}

11,P128 例6.10(译码)

#include

void main()

{

char c;

while((c=getchar())!='\\n')

{

c=c+4;

if(c>'Z'+4||c>'z')

c=c-26;

}

printf(\"%c\

}

printf(\"\\n\");

}

12,P111 5.5 5.6(switch)

5.5

#include

main()

{int x,y;

printf(\"输入x:\");

scanf(\"%d\

if(x<1)

{ y=x;

printf(\"x=%3d, y=x=%d\\n\

}

else if (x<10)

{ y=2*x-1;

printf(\"x=%3d, y=2*x-1=%d\\n\

}

else

{ y=3*x-11;

printf(\"x=%3d, y=3*x-11=%d\\n\

}

}

5.6

#include

main()

{ float score;

char grade;

case 2:

printf(\"请输入学生成绩:\");

scanf(\"%f\

while(score>100||(score<0)

{ printf(\"\\n输入有误,请重新输入:\");

scanf(\"%f\

}

switch((int)(score/10))

{ case 10:

case 9: grade=’A’;break;

case 8: grade=’B’;break;

case 7: grade=’C’;break;

case 6: grade=’D’;break;

case 5:

case 4:

case 3:

case 1:

case 0: grade=’E’;

}

printf(\"成绩是%5.1f,相应的等级是%c。\\n\

}

13,P108 例5.5(一元二次方程求根) 例5.6(求闰年)

5.5

#include

void main()

{

int year,leap;

scanf(\"%d\

if(year%4==0)

{

if(year%100==0)

{

if(year%400==0)

leap=1;

else

leap=0;

}

else

leap=1;

}

else

leap=0;

if(leap)

printf(\"%d is\

else

printf(\"%d is not\

printf(\"a leap year.\\n\")

}

5.6

14,P31 例2.17 例2.18

2.17

输出50个学生中成绩高于80分者的学号和成绩

2.18

输出2000——2500年每一年是否闰年

#include

void main()

{

int year;

year=2000;

go: if(((year%4 == 0)&&(year%100 != 0)) || (year%400 == 0))

printf(\"%d is run nian\

if(year<=2500)

year=year++;

if(year>2500)

goto end;

goto go;

end: getch();

}

1、求1+2+3+……….+100。(循环)

答案

#include

void main()

{

int i,sum=0;

for(i=1;i<=100;i++)

sum=sum+i;

printf(\"%d\

}

2、 求1*2*3*……….*10。(循环)

答案

void main()

{

int i=0,j=1;

for (i=2;i<=10;i++)

{

j*=i;

}

printf(\"%d\

return 0;

}

3、 输入三个数字,输出他们的最大值。(if)

答案

#include

void main()

{int a,b,c,d;

scanf(\"%d,%d,%d\

d=max(a,b,c);

printf(\"max=%d\

getch();/*暂停看运行结果*/

}

int max(int x,int y,int z)

{int u;

if(x>=y&&x>=z)

u=x;

else if(y>=x&&y>=z)

u=y;

else

u=z;

return(u);

4.用起泡法对十个数据排序(数组实现)

答案

#include

main ( )

{ int i,j,t;

static int a[10]={5,7,4,2,3,6,1,0,9,8};

for(j=0;j<9;j++)

{ for(i=0;i<9-j;i++)

{ if(a>a)

{ t=a;a=a;a=t ;

}

}

}

for(i=0;i<10;i++)

printf(\"%2d\

}

5、输入十个数字,逆序输出。(数组实现)

答案

#include

main()

{int a[10],i=0;

for(i=0;i<=9;i++)

scanf(\"%f\

printf(\"\\n\");

for(i=9;i>=0;i--)

printf(\"%f\

}

6输入两个数,交换他们的值并输出。答案

#include

元素交换)

(

int main ()

{

int m,n,temp;

scanf(\"%d%d\

if (m{

temp=m;

m=n;

n=temp;

}

printf(\"%d\

return 0;

}

7.输出9*9乘法表。(双层循环)

答案

#include

void main()

{

int i=1;

for(i; i<=9; i++)

{

int j=1;

for(j;j<=i;j++)

{

printf(\"%d*%d=%d \

}

printf(\"\\n\");

}

}

8.输入一行字符,将所有的小写字母转换成大写字母,大写字母转换成小写字母,其余字符不变。输出转变后的这行字符。

答案

#include \"stdio.h\"

void main()

{

char a[n];

int i;

scanf(\"%s\

printf(\"大写为:\");

for(i=0;i<=n;i++)

{

if(a<='z'&&a>='a')

a=a-32;

printf(\"%c\

}

printf(\"\\n小写为:\");

for(i=0;i<=3;i++)

{

a=a+32;

printf(\"%c\

}

}

9、 编写一个简单计算器程序,要求能够完成两个数的+,-,*,/四种运算。输出运算式及运算结果。(switch)

6.2

#include\"stdio.h\"

main()

{char c;int i=0,j=0,k=0,l=0;

while((c=getchar())!=’\\n’)

{if(c>=65&&c<=90||c>=97&&c<=122) i++;

else if(c>=48&&c<=57) j++;

else if(c==32) k++;

else l++;}

printf(\"i=%d,j=%d,k=%d,l=%d\\n\

}

6.6

#include\"math.h\"

main()

{int x=100,a,b,c;

while(x>=100&&x<1000) {a=0.01*x;b=10*(0.01*x-a);c=x-100*a-10*b;

if(x==(pow(a,3)+pow(b,3)+pow(c,3))) printf(\"%5d\

}

6.7

main()

{int m,i,j,s;

for(m=6;m<10000;m++)

{s=1;

for(i=2;iif(m%i==0) s=s+i;

if(m-s==0)

{printf(\"%5d its fastors are 1 \j=2;jprintf(\"%d \

}

}

main()

{int m,i,j,s;

for(m=6;m<1000;m++)

{s=m-1;

for(i=2;iif(m%i==0) s=s-i;

if(s==0)

{printf(\"%5d its fastors are 1 \j=2;jprintf(\"%d \

}

}

6.8

main()

{int i=1,n;double t,x=1,y=2,s,sum=0;

scanf(\"%ld\

while(i<=n) {s=y/x;sum=sum+s;t=y;y=y+x;x=t;i++;}

printf(\"%f\\n\

}

11,P128 例6.10(译码)

#include

void main()

{

char c;

while((c=getchar())!='\\n')

{

c=c+4;

if(c>'Z'+4||c>'z')

c=c-26;

}

printf(\"%c\

}

printf(\"\\n\");

}

12,P111 5.5 5.6(switch)

5.5

#include

main()

{int x,y;

printf(\"输入x:\");

scanf(\"%d\

if(x<1)

{ y=x;

printf(\"x=%3d, y=x=%d\\n\

}

else if (x<10)

{ y=2*x-1;

printf(\"x=%3d, y=2*x-1=%d\\n\

}

else

{ y=3*x-11;

printf(\"x=%3d, y=3*x-11=%d\\n\

}

}

5.6

#include

main()

{ float score;

char grade;

case 2:

printf(\"请输入学生成绩:\");

scanf(\"%f\

while(score>100||(score<0)

{ printf(\"\\n输入有误,请重新输入:\");

scanf(\"%f\

}

switch((int)(score/10))

{ case 10:

case 9: grade=’A’;break;

case 8: grade=’B’;break;

case 7: grade=’C’;break;

case 6: grade=’D’;break;

case 5:

case 4:

case 3:

case 1:

case 0: grade=’E’;

}

printf(\"成绩是%5.1f,相应的等级是%c。\\n\

}

13,P108 例5.5(一元二次方程求根) 例5.6(求闰年)

5.5

#include

void main()

{

int year,leap;

scanf(\"%d\

if(year%4==0)

{

if(year%100==0)

{

if(year%400==0)

leap=1;

else

leap=0;

}

else

leap=1;

}

else

leap=0;

if(leap)

printf(\"%d is\

else

printf(\"%d is not\

printf(\"a leap year.\\n\")

}

5.6

14,P31 例2.17 例2.18

2.17

输出50个学生中成绩高于80分者的学号和成绩

2.18

输出2000——2500年每一年是否闰年

#include

void main()

{

int year;

year=2000;

go: if(((year%4 == 0)&&(year%100 != 0)) || (year%400 == 0))

printf(\"%d is run nian\

if(year<=2500)

year=year++;

if(year>2500)

goto end;

goto go;

end: getch();

}

1、求1+2+3+……….+100。(循环)

答案

#include

void main()

{

int i,sum=0;

for(i=1;i<=100;i++)

sum=sum+i;

printf(\"%d\

}

2、 求1*2*3*……….*10。(循环)

答案

void main()

{

int i=0,j=1;

for (i=2;i<=10;i++)

{

j*=i;

}

printf(\"%d\

return 0;

}

3、 输入三个数字,输出他们的最大值。(if)

答案

#include

void main()

{int a,b,c,d;

scanf(\"%d,%d,%d\

d=max(a,b,c);

printf(\"max=%d\

getch();/*暂停看运行结果*/

}

int max(int x,int y,int z)

{int u;

if(x>=y&&x>=z)

u=x;

else if(y>=x&&y>=z)

u=y;

else

u=z;

return(u);

4.用起泡法对十个数据排序(数组实现)

答案

#include

main ( )

{ int i,j,t;

static int a[10]={5,7,4,2,3,6,1,0,9,8};

for(j=0;j<9;j++)

{ for(i=0;i<9-j;i++)

{ if(a>a)

{ t=a;a=a;a=t ;

}

}

}

for(i=0;i<10;i++)

printf(\"%2d\

}

5、输入十个数字,逆序输出。(数组实现)

答案

#include

main()

{int a[10],i=0;

for(i=0;i<=9;i++)

scanf(\"%f\

printf(\"\\n\");

for(i=9;i>=0;i--)

printf(\"%f\

}

6输入两个数,交换他们的值并输出。答案

#include

int main ()

{

int m,n,temp;

scanf(\"%d%d\

if (m{

元素交换)

(

temp=m;

m=n;

n=temp;

}

printf(\"%d\

return 0;

}

7.输出9*9乘法表。(双层循环)

答案

#include

void main()

{

int i=1;

for(i; i<=9; i++)

{

int j=1;

for(j;j<=i;j++)

{

printf(\"%d*%d=%d \

}

printf(\"\\n\");

}

}

8.输入一行字符,将所有的小写字母转换成大写字母,大写字母转换成小写字母,其余字符不变。输出转变后的这行字符。

答案

#include \"stdio.h\"

void main()

{

char a[n];

int i;

scanf(\"%s\

printf(\"大写为:\");

for(i=0;i<=n;i++)

{

if(a<='z'&&a>='a')

a=a-32;

printf(\"%c\

}

printf(\"\\n小写为:\");

for(i=0;i<=3;i++)

{

a=a+32;

printf(\"%c\

}

}

9、 编写一个简单计算器程序,要求能够完成两个数的+,-,*,/四种运算。输出运算式及运算结果。(switch)

6.2

#include\"stdio.h\"

main()

{char c;int i=0,j=0,k=0,l=0;

while((c=getchar())!=’\\n’)

{if(c>=65&&c<=90||c>=97&&c<=122) i++;

else if(c>=48&&c<=57) j++;

else if(c==32) k++;

else l++;}

printf(\"i=%d,j=%d,k=%d,l=%d\\n\

}

6.6

#include\"math.h\"

main()

{int x=100,a,b,c;

while(x>=100&&x<1000) {a=0.01*x;b=10*(0.01*x-a);c=x-100*a-10*b;

if(x==(pow(a,3)+pow(b,3)+pow(c,3))) printf(\"%5d\

}

6.7

main()

{int m,i,j,s;

for(m=6;m<10000;m++)

{s=1;

for(i=2;iif(m%i==0) s=s+i;

if(m-s==0)

{printf(\"%5d its fastors are 1 \j=2;jprintf(\"%d \

}

}

main()

{int m,i,j,s;

for(m=6;m<1000;m++)

{s=m-1;

for(i=2;iif(m%i==0) s=s-i;

if(s==0)

{printf(\"%5d its fastors are 1 \j=2;jprintf(\"%d \

}

}

6.8

main()

{int i=1,n;double t,x=1,y=2,s,sum=0;

scanf(\"%ld\

while(i<=n) {s=y/x;sum=sum+s;t=y;y=y+x;x=t;i++;}

printf(\"%f\\n\

}

11,P128 例6.10(译码)

#include

void main()

{

char c;

while((c=getchar())!='\\n')

{

c=c+4;

if(c>'Z'+4||c>'z')

c=c-26;

}

printf(\"%c\

}

printf(\"\\n\");

}

12,P111 5.5 5.6(switch)

5.5

#include

main()

{int x,y;

printf(\"输入x:\");

scanf(\"%d\

if(x<1)

{ y=x;

printf(\"x=%3d, y=x=%d\\n\

}

else if (x<10)

{ y=2*x-1;

printf(\"x=%3d, y=2*x-1=%d\\n\

}

else

{ y=3*x-11;

printf(\"x=%3d, y=3*x-11=%d\\n\

}

}

5.6

#include

main()

{ float score;

char grade;

case 2:

printf(\"请输入学生成绩:\");

scanf(\"%f\

while(score>100||(score<0)

{ printf(\"\\n输入有误,请重新输入:\");

scanf(\"%f\

}

switch((int)(score/10))

{ case 10:

case 9: grade=’A’;break;

case 8: grade=’B’;break;

case 7: grade=’C’;break;

case 6: grade=’D’;break;

case 5:

case 4:

case 3:

case 1:

case 0: grade=’E’;

}

printf(\"成绩是%5.1f,相应的等级是%c。\\n\

}

13,P108 例5.5(一元二次方程求根) 例5.6(求闰年)

5.5

#include

void main()

{

int year,leap;

scanf(\"%d\

if(year%4==0)

{

if(year%100==0)

{

if(year%400==0)

leap=1;

else

leap=0;

}

else

leap=1;

}

else

leap=0;

if(leap)

printf(\"%d is\

else

printf(\"%d is not\

printf(\"a leap year.\\n\")

}

5.6

14,P31 例2.17 例2.18

2.17

输出50个学生中成绩高于80分者的学号和成绩

2.18

输出2000——2500年每一年是否闰年

#include

void main()

{

int year;

year=2000;

go: if(((year%4 == 0)&&(year%100 != 0)) || (year%400 == 0))

printf(\"%d is run nian\

if(year<=2500)

year=year++;

if(year>2500)

goto end;

goto go;

end: getch();

}

因篇幅问题不能全部显示,请点此查看更多更全内容