文档库 最新最全的文档下载
当前位置:文档库 › C语言编程题

C语言编程题

1、输入一个五位整数,将它反向输出。例如输入12345,输出应为54321。(15分)

2、用两种循环结构分别编程计算1+2+3…+100的值。

运行结果为“1+2+…+100=5050”(15分)

3、从终端读入20个数据到数组中,统计其中正数的个数,并计算它们之和。(15分)

4、利用指针实现将5个整数输入到数组a中,然后将a逆序复制到数组b中,并输出b中各单元的值。(20分)

5、要将五张100元的大钞票,换成等值的50元,20元,10元,5元一张的小钞票,要求换成30张小钞票,每种面值的至少一张,编程输出所有可能的换法,程序应适当考虑减少重复次数。(25分)

6、求n以内(不包括n)同时能被3和7整除的所有自然数之和的平方根s,并作为函数值返回,最后结果s输出到文件out.dat中。例如若n为1000时,函数值应为:s=153.909064。(30分)

1、请编写函数fun,其功能是:统计s所指字符串中的数字字符个数,并作为函数值返回。
例如,s所指字符串中的内容是:2def35adh25 3kjsdf 7/kj8655x,
函数fun返回值为:11

int count=0; while(*s!='\0')
{
if(*s>=48 && *s<=57)
count++;
s++;
}
return count;

2、编写一个函数,从num个字符串中找出最长的一个字符串,并通过形参指针max传回该串地址。(注意: 主函数中用****作为结束输入的标志,函数fun中给出的语句仅供参考。)
2、len=strlen(a[i]) ;
if(maxlenk=i , maxlen=len ;

3、请编写函数fun,它的功能是:求出ss所指字符串中指定字符的个数,并返回此值。
例如,若输入字符串: 123412132,输入字符为: 1,则输出:3。
3、int count=0 ;
while(*ss != '\0')
{
if(*ss = = c)
count++ ;
ss++ ;
}
return count;

4、规定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:将字符串中的前导*号全部删除,中间和尾部的*号不删除。
例如,字符串中的内容为:*******A*BC*DEF*G****,删除后,字符串中的内容应当是:A*BC*DEF*G****。在编写函数时,不得使用C语言提供的字符串函数。
4、
int i,len=0;
while(a[len] == '*')
len++;
i=len;
while(a[i]!= '\0')
{
a[i-len]=a[i];
i++;
}

5、请编写一个函数void fun (char a[],char b[],int n),其功能是:删除一个字符串中指定下标的字符。其中, a指向原字符串, 删除指定字符后的字符串存放在b所指的数组中,n中存放指定的下标。
例如,输入一个字符串: World,然后输入3,则调用该函数后的结果为: Word。
5、 a[n]=0 ;
strcpy(b , a) ;
strcat(b , a + strlen(a)+1);

6、请编写一个函数 unsigned fun ( unsigned w ),w 是一个大于10的无符号整数,若 w 是 n (n ≥ 2)位的整数,函数求出w的低 n-1位的数作为函数值

返回。
例如:w 值为 5923,则函数返回 923; w 值为 923 则函数返回 23。
6、 unsigned num=w,n=1;
while(num!=0)
{
num=num/10;
n=n*10;
}
n=n/10;
return w%n;



7、假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是: 除了字符串前导和尾部的*号之外,将串中其它*号全部删除。形参h已指向字符串中第一个字母,形参p已指向字符串中最后一个字母。在编写函数时,不得使用C语言提供的字符串函数。
例如,字符串中的内容为:****A*BC*DEF*G********,删除后,字符串中的内容应当是:****ABCDEFG********。在编写函数时,不得使用C语言提供的字符串函数。
7、 char *r,*q;
for(q=p;q>h;q--)
{
if(*q == '*')
{
r=q;
while(*r!='\0')
{
*r=*(r+1);
r++;
}
}
}

8、已知学生的记录由学号和学习成绩构成,N名学生的数据已存入a结构体数组中。请编写函数 fun,函数的功能是:找出成绩最低的学生记录,通过形参返回主函数(规定只有一个最低分)。
8、 int i;
*s=a[0];
for(i=1;i < N;i++)
{
if((*s).s > a[i].s )
*s=a[i];
}

9、请编写函数 fun,函数的功能是求出二维数组周边元素之和,作为函数值返回。二维数组中的值在主函数中赋予。
例如:二维数组中的值为
1 3 5 7 9
2 9 9 9 4
6 9 9 9 8
1 3 5 7 0则函数值为 61。

9、 int sum=0,i;
for(i=0;isum=sum+a[0][i]+a[M-1][i];
for(i=1;isum=sum+a[i][0]+a[i][N-1];
return sum;

10、程序定义了N×N的二维数组,并在主函数中赋值。请编写函数fun,函数的功能是:求出数组周边元素的平均值并作为函数值返给主函数中的s。
例如:a 数组中的值为
|0 1 2 7 9|
|1 9 7 4 5|
a = |2 3 8 3 1|
|4 5 6 8 2|
|5 9 1 4 1|则返回主程序后s的值应为: 3.375。

10、 int sum=0,i;
for(i=0;isum=sum+w[0][i]+w[N-1][i];
for(i=1;isum=sum+w[i][0]+w[i][N-1];
return (double)sum/(4*N-4);


相关文档