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 预处理文件包含是系统定义的。
以上答案是自己做的,比较有把握,但若个别题目解答有误还请见谅,欢迎指正。