当前位置: 考试资料网 > 考研 >

c语言期末上机考试题库(c语言期末考试题库及详解答案)

时间:2023-03-24 16:32来源:考试资源网 考试资料网
c语言期末上机考试题库(c语言期末考试题库及详解答案)

c语言期末上机考试题库(c语言期末考试题库及详解答案)

admin3周前免费1

C语言期末考试编程题

1输入两个整数a和b,若a和b的平方和大于100,则输出平方和的百位以上的数字,否则输出a和 b的和。

要求: 1)输出结果时说明平方和是大于100还是小于100( 100或100 )

#includestdio.h

int main(){

int a, b, c;

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

c = a * a + b * b;

if(c 100) printf("平方和大于100n%dn", c%100);

else printf("平方和小于等于100n%dn", a + b);

return 0;

}

2输入一个整数,判断是否是5和7的公倍数,若是则输出:5and7yes,否则再判断是否是3的倍数,若是3的倍数输出:3yes,若都不是则输出:no

#includestdio.h

int main(){

int input;

scanf("%d", input);

if(input % 5 == 0 input % 7 == 0)printf("5and7yesn");

else if(input % 3 == 0) printf("3yesn");

else printf("non");

return 0;

}

第三,四题和第二题差不多

5计算公式: [ 2*x x=2

y= [ x*x+1 x2

[ 2*x*x+3*x+1 x2

要求: 1)从键盘输入x的值,根据x的值求y的值

2)输出y的值

#includestdio.h

int main(){

int x, y;

scanf("%d", x);

if(x == 2) y = 2*x;

else if(x 2) y = x*x+1;

else y = 2 * x * x + 3 * x + 1;

printf("%dn", y);

return 0;

}

8 和7差不多

下面原理都差不多 用if基本都能搞定 判断条件就行了 应该LZ能搞定了 东西有点多 -。- 就写这些吧 其他的就不一一写了^ ^

急~期末c语言上机考试题

1:

#include stdio.h

main()

{

float p=100,h=p/2;

int i;

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

{

p=p+2*h;

h=h/2;

}

printf("%6.3f%6.3fn",p,h);

return 0;

}

2:

#include stdio.h

main()

{

int a[3][3],i,j,sum=0;

for(j=0;j3;j++)

for(i=0;i3;i++)

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

for(i=0;i3;i++)

sum=sum+a[i][i];

printf("%dn",sum);

}

3:

#include stdio.h

main()

{

void cpy();

char a[100],b[100];

printf("请输入字符:");

gets(a);

cpy(a,b);

printf("%s",b);

}

void cpy(t,str)

char t[],str[];

{

int i,j=0;

for(i=0;t[i]!='\0';i++)

if(t[i]=='a'||t[i]=='e'||t[i]=='i'||t[i]=='o'||t[i]=='u'||t[i]=='A'||t[i]=='E'||t[i]=='I'||t[i]=='O'||t[i]=='U')

{

str[j]=t[i];

j++;

}

str[j]='\0';

}

帮忙看几道C语言的期末题目~~谢谢!

6.a[2*’n’],这里是字符'n',用作乘法运算就是取出‘n'的ASCII码值进行运算,也就是110,a[2*110]自然没错;D)

z=(x+1)++-y,x+1运算结果作为

常量

保存在

暂存器

中,无法进行自增运算

14.

二维数组

内存

中其实是

一维数组

,比如int

a[3][3],然后a[0][0]就是第0个元素,a[2][2]就是第2*3+2=8个元素,而p只是一个int*,

编译器

压根就不知道p[i][i]应该是第i*1+i还是i*2+i或者i*n+i个元素,所以只能用p[i]一维数组的形式。

*p=a这里其实是int

*p

=

a;相当于int

*p,

p

=

a;在vs2010是直接报错的。

p++,p是int*类型,++就是移动一个int。

2.char只有8位,去掉一个符号位就剩下7位了,没法表示出130;

7.数组并不以'\0'结束,但是字符串是以'\0'结束,所以要

占个位置

;

5.数组'\0'算长度,字符串'\0'不算长度。

(急!!)C程序期末考试上机题目

2.

void fun(char *s,char *t,char *p){

int i,j,k=0;

for(i=0;t[i]!='\0';i++)

for(j=0;s[j]!='\0';j++){

if(t[i]==s[j]) break;

if(s[j]=='\0') p[k++]=t[i];

}

}

3.

int fun(int m){

int n=1,term=0,sum=0;

while(sum=m){

term+=n;

sum+=term;

n++;

}

return n-1;

}

4.

void fun(int *x,int n){

int min=0;

int i;

for(i=1;in;i++)

if(*(x+i)*(x+min)) *(x+min)=*(x+i);

int temp;

temp=*x;

*x=*(x+min);

*(x+min)=temp;

min=1;

for(i=2;in;i++)

if(*(x+i)*(x+min)) *(x+min)=*(x+i);

temp=*(x+1);

*(x+1)=*(x+min);

*(x+min)=temp;

}

5.

long fun(int high,int n){

long sum=0;

int prime=high-1;

int i;

while(n0){

while(prime=2){

for(i=2;iprime;i++)

if(prime%i==0) break;

if(i==prime) break;

else prime--;

}

sum+=prime;

if(prime==2)break;

n--;

prime--;

}

return sum;

}

6.

int fun(int *a,int n){

int i=0,j=0;

while(in){

if(a[i]%2==0)a[j++]=a[i++];

else i++;

}

a[j]=-1;

return j;

}

7.

void fun(int a[N][N]){

nt i,j;

for(i=0;iN;i++)

for(j=0;ji;j++){

a[i][j]=a[i][j]+a[j][i];

a[j][i]=0;

}

}

回答者: Draconious - 江湖少侠 六级 2009-6-12 08:10

2.

int i,j,k=0;

/*删除字符串t中与s字符串中的相同字符*/

for(i=0;istrlen(s);i++)

{

for(j=0;jstrlen(t);j++)

{

if(s[i]==t[j])//t字符串中含有s字符串中的字符

{

k=j;//获得该字符在t字符串中的下标

while(kstrlen(t))//删除t字符串中的该字符

{

t[k]=t[k+1];//该字符后的无素向前移一位,覆盖该字符

k++;

}

j--;//移位后,需判断处于已删除字符位置的字符是否与s字符串中的字符相同,所以进行j--

}

}

}

/*删除字符串t中的重复字符*/

for(i=0;istrlen(t);i++)

{

for(j=i+1;jstrlen(t);j++)

{

if(t[i]==t[j])

{

k=j;

while(kstrlen(t))

{

t[k]=t[k+1];

k++;

}

j--;

}

}

}

strcpy(p,t);

3.

double result=0;

int i;

int n;

for(i=1;;i++)

{

result+=i*(i+1)*0.5;

if(resultm)

{

n=i-1;//当n=i时,resultm;因此当n=i-1时,result=m

break;

}

}

return n;

4.

int i;

int temp;

int min;

int gMin;

int index;

min=x[0];

for(i=1;in;i++)

{

if(minx[i])

{

min=x[i];

index=i;

}

}

temp=x[0];

x[0]=x[index];

x[index]=temp;

gMin=x[0];

for(i=0;in;i++)

{

if(gMinx[i]i!=0)

{

gMin=x[i];

index=i;

}

}

temp=x[1];

x[1]=x[index];

x[index]=temp;

5.

int i,cout=0,j;

long int sum=0;

for(i=high-1;i=2;i--)

{

for(j=2;jsqrtf(i);j++)

{

if(i%j==0)

{

break;

}

}

if(jsqrtf(i))

{

sum+=i;

cout++;

}

if(cout=n)break;

}

return sum;

6.

int i,j=0,cout=0;

int b[15];

for(i=0;in;i++)

{

if(*(a+i)%2==0)

{

b[j]=*(a+i);

j++;

cout++;

}

}

for(i=0;icout;i++)

{

*(a+i)=b[i];

}

*(a+cout)=-1;

return cout;

7.

int i,j;

for(i=0;iN;i++)

{

for(j=0;jN;j++)

{

if(i!=j)

a[j][i]=a[i][j]+a[j][i];

}

}

for(i=0;iN;i++)

for(j=0;jN;j++)

if(ij)

a[i][j]=0;

有什么问题请直接Q上Q我。若非学习讨论,请别打扰我。谢谢合作。建议您运行一下这些程序,运行会加深印象,加深理解。


    “c语言期末上机考试题库(c语言期末考试题库及详解答案)”由考试资料网(www.kszl.net)整理!仅供学习参考!具体以权威部门公布的内容为准!

------分隔线----------------------------


------分隔线----------------------------