求教各位高手,帮我解解这两道c语言题吧,急需阿

作者&投稿:徒晏 (若有异议请与网页底部的电邮联系)
1.
void DeleteDigit(char *dst, char *src)
{
if(NULL == dst) return;
if(NULL == src) return;
while(*src)
{
if(*src >= '0' && *src <= '9')
continue;
*dst++ = *src++;
}
}
2.
void SelectionSort(int *arr, int low, int high)
{
int i, j, k, temp;
int len = high - low + 1;
if(NULL == arr) return;
for(i = 0; i < len - 1; i++)
{
k = i;
for(j = i + 1; j < len; j++)
{
if(arr[j] < a[k]) k = j;
}
if(k != i)
{
temp = arr[i];
arr[i] = arr[k];
arr[k] = temp;
}
}
}

1
#include "string.h"
#include "alloc.h"

void fn_DelNum(char *str)
{
char *pTemp; //临时字符串
int cont,cont2; // 两个计数器
pTemp = malloc(strlen(str)+1); //分配空间
pTemp[strlen(str)] = 0;
for(cont = 0 cont2 = 0; cont < strlen(str); cont++)
{
if(str[cont] > '9' || str[cont]< '0')
{
pTemp[cont2] = str[cont];
cont2++;
}//if
}//for
strcpy(str, pTemp);
free(pTemp);
return;
}

C语言题目,请教各位高手~

小将救驾来也。
程序在win-tc和dev-c++或vs2005下编译通过。
#include
#include
#include

#define N 50
#define M 100

int main()
{
int n,line,array[N][M]={0};
int i,max,min,sum;

line=0;
i=0;
printf("Please input the number of arrays and all digits:
");
scanf("%d",&n);
while(line<n)
{
while(1)
{
scanf("%d",&array[line][i]);
if(array[line][i]!=0)
i++;
else
{
line++;
i=0;
break;
}
}
}

for(line=0;line<n;line++)
{
i=0,sum=0;
max=INT_MIN; /*先设设当前的最大值max为C整型数的最小值*/
min=INT_MAX; /*先设设当前的最小值min为C整型数的最大值*/
while(array[line][i]!=0)
{
sum+=array[line][i]; /*计算总分*/
if(array[line][i]>max)
max=array[line][i]; /*筛选出其中的最高分*/
if(array[line][i]<min)
min=array[line][i]; /*筛选出其中的最低分*/
i++;
}
/* printf("Canceled max:%d Canceled min:%d ",max,min); */
printf("Average:%.2f
",(float)(sum-max-min)/(i-2)); /*剔除最高和最低分后每行只有i-2个数据输出结果*/
}

system("pause");
return 0;
}

/*
1、 编写一个递归函数,返回形参n的阶乘,在主调函数中测试这个递归函数的正确性。
*/
#include
long func(unsigned int n)
{
if(n==0) return 1;
else return n*func(n-1);
}
void main()
{
int n;
printf("请输入非负数n:");
scanf("%d", &n);
if(n<0) printf("输入错误。
");
else printf("%d的阶乘为%ld。
", n, func(n));
}

/*
2、一个字符串文本中可能包含多个圆括号对,例如:adfd(siog(js)dsafs)d。请编写一个函数,测试一个文本中的圆括号对是否匹配。如果一个文本的圆括号对匹配,必须满足下面的要求:(1)每一个左圆括号都有一个与之配对的右圆括号,每一个右圆括号也要有一个左圆括号与之配对,左圆括号的数量要和右圆括号的数量相等;(2)文本第一个出现的圆括号,必须是左圆括号,最后一个出现的圆括号,必须是右圆括号;(3)文本可以不出现圆括号对;(4)对于每一对嵌套的圆括号对,左圆括号都应该出现在右圆括号的前面。
*/
#include
#include
int Check(char *str)
{
int i=0, j, len;
len = strlen(str); /*计算str所指向字符串的长度,存入n*/
for(j=0 ; j<len; j++)
{
if(str[j]=='(') i++;
else if(str[j]==')')
{
i--;
if(i<0) return 0;
}
}
if(i==0) return 1;
else return 0;
}
void main()
{
char str[100];
printf("请输入一行文本:");
gets(str);
if(Check(str) == 1)
{
printf("圆括号匹配!
");
}
else
{
printf("圆括号不匹配!
");
}
}

各位c语言程序高手,我这有套题需要你们来解答,谢谢啦~!
答:A、实用while和do-while循环时,循环变量初始化的操作应在循环体语句之前完成 B、while循环是先判断表达式,后执行循环语句 c、do-while和for循环均是先执行循环语句,后判断表达式 D、for、while和do-while循环中的循环体均可以由空语句构成 9、有如下函数调用语句fuc(recl,rec2+rec3,(rec4,rec5...

c语言问题,正在复习国二,请高手帮我解决疑问,不胜感激
答:while(k++ && n++>2);等价于while((k++) && (n++>2));因为k的值为零,那么表达式k && "任意数"的结果都为假,所以不会执行&&右边的运算。然后k的值自增,所以结果k = 1,n = 2

哪位c语言高手愿意帮我解决两道题目
答:首先if(!a)x--;a=0为假,!a为真,x-- 为34;else if(b)为假,不执行,c=34;if(c)x=3;为假,c=34;else x=4;最后之行x=4;所以x=4 /*我的这个还对位比较齐哦*/ include"stdio.h"void main(){ int a,b,c,d,sum;printf("请输入两个两位正整数:a,b\n");scanf("%d,%d...

问两道很简单的C语言题
答:1.A 或者 D int类型变量的取值范围在4字节字长的计算机上是-2147483648~+2147483647 int类型变量的取值范围在2字节字长的计算机上是-32768~+32767 如果此题给定前提条件,那么则根据上面信息判断A是否正确;D项为oxAF(注意开头字母o)如果不是输入错误,那么这个一定是错误的,因为0xAF是正确的,(...

请教各位学霸这道c语言题该怎么理解?为什么结果是9876 876呢?非常感...
答:第三次循环指针p的值是p++,也就是(s+2)因为循环终止条件是p<s+2所以退出循环,程序结束.所以输出是"9876 876 ".如果你不明白可以把循环终止条件改成p<s+4,那么程序就会输出"9876 876 76 6 ",每次p指针指向字符数组的后一个字符,每次输出其后面的字符串.我给你一个循环终止条件改成p<s+4后...

请高手们帮我看看这几道C语言题目的答案是什么?
答:1、XP系统自带的计算器就有这功能,你打开开始里面的计算机,里面就有进制转化。2、单精度型占4个字节,有效数字是6-7。双精度字节占8字节,有效数字是15-16.3、不可以,必须转化以后才能运算。4、-i++?不懂,不过i++是先输入再运算,如果输出的话是2,输入后运算是i++=i+1自加一次,等于3...

麻烦各位帮我解析一下这个C语言程序? 越详细越好
答:6385 这是大致分析。char ch[2][5]={"6934","8254"},*p[2]; //定义了一个二维数组的字符串,和指针。int i,j,s=0;//这个循环 是 将ch的值,赋给指针*p[0],*p[1]for(i=0;i<2;i++)p[i]=ch[i];//这两个循环是将指针P[0],P[1]的偶数位 转换为int型 赋给S。for(i...

C语言程序疑惑(找高手帮忙解释程序)
答:j][i]这个位置存储的是5,a[i][j]这个位置存储的是8,则这样对调之后a,b数组中的b[j][i]和a[i][j]位置存储的就都是同一个元素了。既b数组中的元素都被a数组中的元素给取代了,但是顺序不一样。参考资料:看你的情绪,书本还没搞透彻。建议再看看书吧,把概念搞清楚。C语言不难的。

c语言:有哪位大侠可以帮我解释一下下面这道题目???
答:for (i=2;i<n/2 && flag==1;i++)//i=2表示i从2开始进行循环、因为1不为素数i

想用c语言解出这道题,初学者码不来代码。请大神帮帮忙
答:分析题目 1个1个拿,正好拿完。这个是废话 不用管 2个2个拿,还剩1个。奇数 3个3个拿,正好拿完。3的倍数 4个4个拿,还剩1个。模除4余1 5个5个拿,还差1个。模除5余4 6个6个拿,还剩3个。模除6余3 7个7个拿,正好拿完。7的倍数 8个8个拿,还剩1个。模除8余1 9个9个拿,...