华农C语言题目及答案完整版.docx

上传人:b****8 文档编号:29787846 上传时间:2023-07-26 格式:DOCX 页数:30 大小:21.15KB
下载 相关 举报
华农C语言题目及答案完整版.docx_第1页
第1页 / 共30页
华农C语言题目及答案完整版.docx_第2页
第2页 / 共30页
华农C语言题目及答案完整版.docx_第3页
第3页 / 共30页
华农C语言题目及答案完整版.docx_第4页
第4页 / 共30页
华农C语言题目及答案完整版.docx_第5页
第5页 / 共30页
点击查看更多>>
下载资源
资源描述

华农C语言题目及答案完整版.docx

《华农C语言题目及答案完整版.docx》由会员分享,可在线阅读,更多相关《华农C语言题目及答案完整版.docx(30页珍藏版)》请在冰豆网上搜索。

华农C语言题目及答案完整版.docx

华农C语言题目及答案完整版

[题目6567:

ThefirstCProgram]

将下列程序输入

visualc++

,编译、连接和运行该程序。

#include"stdio.h"

main()

{

printf("ThefirstCProgram\n");

}

答案

#include

#include

intmain()

{

printf("ThefirstCProgram\n");

return0;

}

[题目1001:

计算a+b]

由键盘输入两个整数,计算并输出两个整数的和。

答案

#include

#include

intmain()

{inta,b;

scanf("%d%d",&a,&b);

printf("%d",a+b);

return0;

}

[题目11126:

输出a与b中的较大值]

下面程序实现由键盘输入两个整数a和b,判断并输出a与b中较大值。

请在计算机上执行并验证该程序的正确性,之后提交到在线评判系统。

答案

#include

#include

intmax(intx,inty)

{if(x>y)returnx;

elsereturny;

}

intmain()

{inta,b;

scanf("%d%d",&a,&b);

printf("%d\n",max(a,b));

}

[题目1117:

变量定义,按要求完成程序]

下面给出一个可以运行的程序,但是缺少部分语句,请按右边的提示补充完整缺少的语句。

#include"stdio.h"

main()

{inta,b;/*定义整型变量a和b*/

inti,j;/*定义实型变量i和j*/

a=5;

b=6;

i=3.14;j=i*a*b;

printf("a=%d,b=%d,i=%f,j=%f\n",a,b,i,j);

}

答案

$line1$

inta,b;

$line2$

floati,j;

[题目6568:

在显示屏上显示指定字符] 

要求编写一个程序,在显示屏上显示如下内容(全为半角字符,且不包括空格):

C:

\ABC.TXT 

[提示]

注意转义字符在程序中的使用。

答案

#include

#include

intmain()

{

printf("C:

\\ABC.TXT\n");

return0;

}

[题目1119:

基本运算,写出程序运行结果] 

阅读下面程序,写出运行结果:

#include "stdio.h" 

main() 

{ int a, b, c; 

float d=15, e, f; 

a=35%7; 

 b=15/10; 

c=b++; 

e=15/10; 

 f=d/10; 

printf("%d,%d,%d,%f,%f,%f", a,b,c,d,e,f); 

}

答案

$line1$

0,2,1,15.000000,1.000000,1.500000

[题目1118:

赋值表达式与赋值语句,写出程序运行结果]

阅读下面程序,写出运行结果:

#include "stdio.h" 

int main() 

{float a; 

int b, c; 

char d, e; 

a=3.5; 

b=a; 

c=330; 

d=c; 

e='\141; 

printf("%f,%d,%d,%c,%c", a,b,c,d,e); 

}

答案

$line1$

3.500000,3,330,J,a

[题目1126:

字符的输入与输出] 

编程实现由键盘输入一个字符后,在屏幕上输出该字符。

 答案

#include

#include

intmain()

{inta;

scanf("%c",&a);

printf("%c",a);

}

[题目1127:

计算加法] 

编程实现由键盘输入一个加法式,输出正确的结果。

(两个加数均为整数)

答案

#include

#include

intmain()

{inta,b;

scanf("%d%d",&a,&b);

printf("%d",a+b);

}

[题目1014:

求圆面积] 

 由键盘输入圆半径r,请计算该圆的面积。

(注:

π取3.14159,结果保留两位小数位;另外,程序只要能对r在0 到10000 范围的情况输出正确答案即可)

答案

#include

#include

#definePI3.1415926

intmain()

{floatr,area;

scanf("%f",&r);

area=PI*r*r;

printf("%6.2f",area);

getchar();

}

[题目1015:

计算摄氏温度值] 

 从键盘输入一个华氏温度值,要求按格式输出其对应的摄氏温度值,精确到小数点后两位。

数学公式描述为:

C=5*(F-32)/9

答案

#include

#include

intmain()

{floatF,C;

scanf("%f",&F);

C=(F-32)*5/9;

printf("%.2f",C);

getchar();

}

[题目11127:

各个数字] 

 从键盘输入一个3位数的正整数,要求先后输出该数字的百位数字与个位数字,各占一行。

答案

#include

#include

intmain()

{inta,b,c;

scanf("%d",&a);

b=a/100%10;c=a%10;

printf("%d\n%d",b,c);

}

[题目1018:

数的排序]

由键盘输入三个整数a、b、c,按从小到大的顺序输出这三个数。

答案

#include

#include

intmain()

{inta,b,c,t;

scanf("%d,%d,%d",&a,&b,&c);

if(a>b)

{t=a;

a=b;

b=t;

}

if(a>c)

{t=a;

a=c;

c=t;

}

if(b>c)

{t=b;

b=c;

c=t;

}

printf("%d,%d,%d",a,b,c);

return0;

}

[题目1016:

字符变换] 

 由键盘输入5个字符,将其中的大写字母变成小写,其它类型的字符不变,并按输入顺序逐个输出。

答案

#include

#include

intmain()

{

chara[5];

inti;

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

{

scanf("%c",&a[i]);

if(a[i]>='A'&&a[i]<='Z')

{

a[i]+='a'-'A';

}

}

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

{

printf("%c",a[i]);

}

}

 [题目1019:

数的整除] 

 由键盘输入5 个整数,逐个判断它们能否被27 整除,能的输出“YES”,不能的输出“NO”(注意,输出时,一个判断结果占一行,5个数的判断共占5行)。

答案

#include

#include

intmain()

{

inta[5];

inti;

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

{

scanf("%d",&a[i]);

if(a[i]%27==0)

printf("YES\n");

elseprintf("NO\n");

}

return0;

}

[题目1020:

正负奇偶判断] 

 由键盘输入非零整数x,判断该数正负,正数输出positive,负数输出negative,接着判断

该数的奇偶性,奇数输出odd,偶数输出even。

答案

#include

#include

intmain()

{

intn;

scanf("%d",&n);

if(n<0)

printf("negative\n");

elseprintf("positive\n");

if(n%2==0)

printf("even\n");

elseprintf("odd\n");

}

[题目1023:

简单计算器] 

 下面程序是实现一个简单的运算器(保留两位小数点),如果由键盘输入10+50,计算机可以输出结果60.00;如果输入8*6,计算机输出48.00;如果输入20/4,计算机输出5.00

;如果输入8-6,计算机输出2.00,请在空处填上适当的代码,运行通过后并提交。

 

#include "stdio.h" 

void main() 

{ float a,b,c; 

char op; 

scanf("%f%c%f", ); 

switch (op) 

{case '+':

_ ; 

 case '-':

 _; 

 case '*':

_; 

 case '/':

 __ ; 

default:

 

printf("error"); 

return  

printf("result= ", c); 

 答案

#include

#include

intmain()

{

floata,b,c;

charop;

scanf("%f%c%f",&a,&op,&b);

switch(op)

{

case'+':

c=a+b;break;

case'-':

c=a-b;break;

case'*':

c=a*b;break;

case'/':

c=a/b;break;

default:

printf("error");break;

}

printf("result=%.2f",c);

}

[题目1007:

判断整数是否为平方数] 

 由键盘输入一个正整数,判断该数是否为平方数,是输出Y,否输出N。

答案

#include

#include

main()

{inta,b;

scanf("%d",&a);

b=sqrt(a);

if(b*b==a)printf("Y");

elseprintf("N");

}

[题1017:

求数的位数]

由键盘输入一个不多于9位的正整数,要求输出它是几位数。

答案

#include

#include

main()

{

intn,place;

scanf("%ld",&n);

if(n>99999999)

place=9;

elseif(n>9999999)

place=8;

elseif(n>999999)

place=7;

elseif(n>99999)

place=6;

elseif(n>9999)

place=5;

elseif(n>999)

place=4;

elseif(n>99)

place=3;

elseif(n>9)

place=2;

else

place=1;

printf("%ld\n",place);

}

[1120:

判断点是否在圆上] 

 由键盘输入一个点的坐标, 要求编程判断这个点是否在单位圆上,点在圆上输出Y, 不在圆上输出N。

使用小数点后3位精度进行判断。

答案

#include"stdio.h"

#include"math.h"

intmain()

{

floata,b;

scanf("%f,%f",&a,&b);

if(fabs(a*a+b*b-1)<1e-3)

printf("Y\n");

else

printf("N\n");}

[题目1024:

计算阶乘] 

 输入正整数n,计算n!

,结果用长整型数表示(注n!

=1*2*3*...*n)

答案

#include

#include

intmain()

{longi,n=1,a;

scanf("%1d",&a);

for(i=1;i<=a;i++)n=n*i;

printf("%1d\n",n);

}

[题目1025:

计算数列和] 

 有数列1,3,5,7,9,11,„„

现要求由键盘输入n,计算输出该数列的前n项和。

答案

#include

main()

{

longn,sum=0,i,t=1;

scanf("%ld",&n);

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

{

sum=sum+t;

t=t+2;

}

printf("%ld\n",sum);

}

[题目1026:

累加一行字符中的数字] 

 由键盘输入一行字符(总字符个数从1个至80 个均有可能,以回车符表示结束),将其中

每个数字字符所代表的数值累加起来,输出结果。

答案

#include

main()

{

charc;

ints=0,a;

while((c=getchar())!

='\n')

{

if(c>='0'&&c<='9')

{

a=c-48;

s=s+a;

}

}

printf("%d",s);

}

[题目1029:

求最大公约数] 

 由键盘输入两个正整数m、n(m、n用长整数表示) ,计算它们的最大公约数。

答案

#include

main()

{

longr,m,n,temp;

scanf("%ld,%ld",&m,&n);

while(m!

=0)

{

r=n%m;

n=m;

m=r;

}

printf("%ld\n",n);

}

[题目1044:

输出最小值] 

 从键盘输入十个整数,输出最小值

答案

#include"stdio.h"

main()

{

inti,t,min;

scanf("%d",&min);

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

{

scanf("%d",&t);

if(t

}

printf("%d\n",min);

}

[题目1030:

字符变换] 

由键盘输入一个句子(总字符个数从1个至80 个均有可能,以回车符表示结束),将其中

的大写字符变成小写(其它类型的字符不变),最后输出变换后的句子。

答案

#include

main()

{

charc;

while((c=getchar())!

='\n')

{

if(c>='A'&&c<='Z')

c=c+32;

putchar(c);

}

}

[题目1037:

计算数列和] 

 有数列:

编程实现,由键盘输入n,计算输出数列前n项和。

(结果保留四位小数)

答案

#include

main()

{

inti,t,n;

floata=2,b=1,s=0;

scanf("%d",&n);

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

{

s=s+a/b;

t=a;a=a+b;b=t;

}

printf("%.4f\n",s);

}

[题目1028 :

求素数]

输出2到200之间(包括2、200)的所有素数(注:

要求1行1个素数,按由小到大的顺序输出)。

答案

#include

#include

main()

{

intm,k,i;

for(m=2;m<=200;m++)

{

k=sqrt(m);

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

if(m%i==0)break;

if(i>k)printf("%d\n",m);

}

}

[题目1035:

打印菱形] 

 由键盘输入正数n,要求输出2*n+1行的菱形图案。

要求菱形左边紧靠屏幕左边。

答案

#include

#include

main()

{intn,i,j;

scanf("%d",&n);

for(j=0;j

{

for(i=n;i>j;i--)

printf("");

for(i=0;i<2*j+1;i++)

printf("*");

printf("\n");

}

for(j=0;j

{

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

printf("");

for(i=2*n;i>1+2*j;i--)

printf("*");

printf("\n");

}

}

[题目1137:

找到满足要求的数字] 

 输出1到9999中能被7整除,而且至少有一个数字是5的所有数字。

输出时一行一个数字,且按由小到大的排序输出。

[提示]判断一个数字中是否有数字5,首先要掌握拆数字的方法,一种算法如下:

一个整数a,使用a%10,可以得到a的个位数,然后使用a=a/10,可以将a

中的个位数字除去,上述过程重复则可以的到原数a中其他位上的数字。

答案

#include

#include

main()

{

inti,j;

for(i=7;i<=9999;i=i+7)

{

j=i;

while(j!

=0)

{

if(j%10==5)break;

j=j/10;

}

if(j!

=0)

printf("%d\n",i);

}

return0;

}

[题目1038:

打印图案] 

 由键盘输入正数n,要求输出中间数字为n的菱形图案。

要求菱形左边紧靠屏幕左边。

答案

#include

#include

main()

{

intn,i,j,k,h;

scanf("%d",&n);

for(i=-n+1;i<=n-1;i++)

{

for(j=0;j

printf("");

for(k=1;k<=n-abs(i);k++)printf("%d",k);

for(h=n-abs(i)-1;h>=1;h--)printf("%d",h);

printf("\n");

}

}

[题目1039:

倒序] 

 由键盘输入10 个整数,倒序输出。

(数字间由一个空格分隔)

答案

#include

#include

#include"math.h"

main()

{

inta[10];

inti;

for(i=0;i<10;i++)scanf("%d",&a[i]);

for(i=9;i>=0;i--)printf("%d\n",a[i]);

return0;

}

[题目1062:

打印矩阵] 

 由键盘输入一个3×4的矩阵,要求输出它的转置矩阵。

答案

#include

main()

{

inta[3][4],b[4][3],i,j;

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

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

{

scanf("%d",&a[i][j]);

b[j][i]=a[i][j];

}

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

{

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

printf("%d",b[i][j]);

printf("\n");

}

}

[题目1047:

冒泡排序]

由键盘输入10个数,用“冒泡法”对10个数从小到大排序,并按格式要求输出。

代码如下,请填充完整。

数字间由一个空格分隔。

#incude"stdio.h"

main()

{

inta[10],i,j,t;19

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

scanf("%d",___________)

for(___________)

{

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

if(___________)

{___________}

}

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

printf("%d",a[i]);

}

答案

$line1$

&a[i]

$line2$

i=0;i<9;i++

$line3$

9-i

$line4$

a[j]>a[j+1]

$line5$

t=a[j];a[j]=a[j+1];a[j+1]=t;

[题目1040:

统计不同数字个数] 

 由键盘输入20 个整数,统计不同数字的个数。

答案

#include

#include

main()

{

inta[20];

inti,t,p=0;

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

{

scanf("%d",&a[i]);

for(t=0;t

if(a[t]==a[i])break;

if(t==i)

p++;

}

printf("%d",p);

}

[题目1121:

定义存贮字符串的字符数组] 

 在下面程序中填充定义字符数组的语句,使程序完整。

#include "string.h" 

Voidmain() 

char s[80]; /*定义字符数组s*/ 

strcpy(s, "abcdefghijklmn"); 

printf("%s", s);  

}

答案

$line1$

chars[80];

[题目1123:

字符串的输入与输出] 

 下面程序实现从键盘读入字符串,然后输出到屏幕,请填充必要的语句。

#include "stdio.h" 

void main() 

char s[50]; 

printf("What's your name?

"); 

gets(s); /*由键盘读入字符串*/ 

printf("Your name is ", ); 

printf("%s", s); /*打印字符串*/  

}

答案

$line1$

gets(s);

$line2$

%s

{题目1145:

回文串} 

读入一行字符串(不多于80个字符,以回车结束),判断该字符串是否为回文串(即从左向

右拼写与从右向左拼写是一样的),是输出Y,否输出N。

答案

#include

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 表格模板 > 合同协议

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1