高分求两道大一C语言编程题答案,答对的保证再追加100分

Python011

高分求两道大一C语言编程题答案,答对的保证再追加100分,第1张

/*

1.

*/

#include <stdio.h>

#include <malloc.h>

char* ReadFile(const char* psz)

{

FILE* fp = fopen(psz, "r")

if( NULL == fp ) return NULL

fseek(fp, 0, SEEK_END)

int nLen = ftell(fp)

char* pszBuff = (char*)malloc(nLen + 1)

fseek(fp, 0, SEEK_SET)

int nSize = fread(pszBuff, 1, nLen, fp)

pszBuff[nSize] = 0

fclose(fp)

return pszBuff

}

void Sort(const char* psz)

{

FILE* fp = fopen("New.txt", "w")

while( *psz )

{

if( ((*psz >= '0') &&(*psz <= '9')) ||

((*psz >= 'A') &&(*psz <= 'F')) ||

((*psz >= 'a') &&(*psz <= 'f')) )

{

printf("%c", *psz)

psz++

continue

}

fprintf(fp, "%c", *psz)

psz++

}

}

int main()

{

char* pszBuff = ReadFile("Old.txt")

if( NULL == pszBuff ) return 0

Sort(pszBuff)

free(pszBuff)

printf("\n")

}

/*

2.

*/

#include <stdio.h>

#include <malloc.h>

void input(int array[], int n)

{

for(int i = 0i <ni++)

{

scanf("%d", &array[i])

}

}

int find(int array[], int n, int x)

{

int count = 0

for(int i = 0i <ni++)

{

if( x == array[i] )

{

count++

}

}

return count

}

main()

{

int arr[5]

printf("waiting for array input:\n")

input(arr, 5)

int x

printf("please enter the target :\n")

scanf("%d", &x)

int count = find(arr, 5, x)

if( 0 == count )

{

printf("Not find!\n")

return 0

}

printf("the key %d count:\n", count)

}

第一题:#include<stdio.h>

void main()

{

int a[10],b[9],i=0

for(i<10i++)

{

printf("请输入第%d个数",i+1)

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

}

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

b[i-1]=a[i]-a[i-1]

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

{

if(i%3==0)printf("\n")

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

}

}

运行结果:

第二题:#include<stdio.h>

void main()

{

char a[100]int i=0

  printf("请输入一串字符按回车结束")

scanf("%s",a)

  while(1)

{

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

       a[i]=a[i]+32

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

i++

if(a[i]==0)break

}

 printf("\r\n")

}

运行结果:

第三题:(以两名学生为例,其他只要改变对应的值即可,照着框架来即可)#include<stdio.h>

void main()

{

int a[2][5],i,j

for(i=0i<2i++)

for(j=0j<5j++)

{

 printf("请输入第%d个学生,第%d门成绩",i+1,j+1)

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

}

printf("\n")

}

int sum,csum=0

printf("%14c第1门课%4c第2门课%4c第3门课%4c第4门课%4c第5门课%4c总分\n",32,32,32,32,32,32)

for(i=0i<2i++)

sum=0

printf("第%d个学生",i)

for(j=0j<5j++)

{

 printf("%6c%d",32,a[i][j])

 printf("%3c",32)

 sum=sum+a[i][j]

}

csum=csum+sum

printf("%5c%d",32,sum)

printf("\n")

}

int temp

printf("班级总分 ")

for(j=0j<5j++)

{

temp=0

for(i=0i<2i++)

 temp=temp+a[i][j]

printf("%6c%d",32,temp)

printf("%2c",32)

}

printf("%5c%d\n",32,csum)

printf("\n")

}

运行结果:

第四题:#include<stdio.h>

void main()

{

int a[10],i=0,j,temp

for(i<10i++)

{

printf("请输入第%d个数",i+1)

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

}

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

{

for (i=0i<10-ji++)

 if (a[i]>a[i+1])

 {

  temp=a[i]

  a[i]=a[i+1]

  a[i+1]=temp

 }

}

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

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

printf("\n")

}

运行结果:

学习是要用心的,多动脑,多思考学到的东西才是自己的。喔,对了给分哟!!!!!

53.C 优先级别:!>算术运算符>关系表达式>&&>||>赋值表达式

54.B b++表示先引用b的值再进行自加,++b表示先加1再引用b的值。b++具体计算为:先让b=5,再执行b=b+1,此时b=6。题目中括号内表示是逗号表达式,表达式的值为逗号表达式中最后一个表达式的值,所以其值为a+b=2+6=8,。

55.字符在计算机中的运算是以其ASCII值的形式进行运算的,所以字符可以和int数据直接进行运算。A的ASCII值为65,'6'、'3'是用单引号引用起来的,表示字符,可以直接运算。65+6-3=68

56.A while后面的括号内表示当满足某个条件时,如果省略了完整的表达式,如果只是一个E表示E非零时满足条件,E为零时结束循环。!E则表示相反。

57.C continu表示结束当前循环跳至下一个循环,break表示结束本次循环(不循环了)。从i=0时开始进行循环,满足i<1,则结束本次循环,执行i++,此时i=1,不满足if条件,直接进行i++,直到i==5时break,结束循环,所以共循环了6次。

58.C数组的引用中只能出现[],且是几维数组就用几个[],中括号内值为元素的行列下标,括号内可以是int型数据或是整型表达式,A选项下标越界了,其引用范围是从a[0][0]~a[2][3]。

59.B a定义的是字符串,其输入结束后系统会自动在最后加上"\0”,用以表示字符串输出完毕,所以a在内存中的长度为7。b定义的是字符,一共定义了6个字符,所以它在内存中的长度为6,但二者在数字中的长度都是6.

60.C 预处理文件包含是系统定义的。

以上答案是自己做的,比较有把握,但若个别题目解答有误还请见谅,欢迎指正。