C语言题。按下面三个题目要求进行编程,要求只用C语言,不要C++,正在考试,急求。是图中2学号的三个

2024-11-25 02:30:14
推荐回答(5个)
回答1:

第一题:
#include
#define MAX 100
void main()
{
char buf[MAX];
char * ptr;
int count = 0;
scanf("%s",buf); //输入字符串
for(ptr = buf;*ptr!=0;ptr++)
{
if(*ptr>='0' && *ptr<='9')
{
count++; //统计数字个数
}
}
printf("%s has %d number\n",buf,count);

}

第二题:
#include
#include
int Average(int **a){
int max=INT_MIN, min=INT_MAX; //初始值的设置,MAX设为最小(不是0,是负数),MIN设为最大。
int sum=0;
int i,j;
for(i=0;i<3;i++)
{
for(j=0;j<4;j++)
{
if(a[i][j]>max)
max=a[i][j];
if(a[i][j] min=a[i][j];
sum+=a[i][j];
}
}
return (sum-max-min)/(3*4-2); //扣除两个后,平均数应该除以10
}

第三题:
int func(int x)
{
if(x<0) return x;
else if(x<10) return 5*x-1;
else return 8*x+10;
}
void main(void)
{
int x,y;
scanf("%d",&x);
y = func(x);
printf("func(%d) = %d",x,y);
}

回答2:

void main()

char str[]=“vhgdd5655”;
int i,j;
int f=0;
for(j=0;j<10;j++)
for(i=0;i<=strlen(str);i++)
if(str[i]==j)
f++;
printf(“字符数为%d”,f);

这是第一题,由于手机打的,不方便。
void main()

double X,y;
scanf(“%f”,&x);
if(x<0)
y=x;
if(x>=0&&x<10)
y=5*x-1;
if(x>=10)
y=8*x+10;
printf(“%f”,y);

这是第三题。一会发第二题
手机打编程实在费劲,写个第二题思路,首先定义该二维数组并赋初值,再用两个for循环对二维数组遍历,用冒泡法找到最大值最小值,然后用12个数的和减掉这两个数的和,再除10

回答3:

原来有三个题,我还以为只要第二题
1)
#include
int main()
{
char str[100];
int i, cnt=0;
scanf("%s", str);
for(i=0;str[i]!='\0';i++)
{
if(str[i]>='\0'&&str[i]<='9')
cnt++;
}
printf("digits %d\n", cnt);
}
2)
int func(int a[][])
{
int max=0, min=32767;
int sum=0;
int i,j;
for(i=0;i<3;i++)
{
for(j=0;j<4;j++)
{
if(a[i][j]>max)
max=a[i][j];
if(a[i][j] min=a[i][j];
sum+=a[i][j];
}
}
return (sum-max-min)/(3*4);
}
3)
#include
int main()
{
int x;
scanf("%d", &x);
if(x<0)
return x;
else if(x>=0&&x<10)
return 5*x-1;
else
return 8*x+10;
}

回答4:

#include
void main()
{
char a[20];
int i=0;
while((a[i]=getchar())!='\n')i++;
a[i+1]='\0';
printf("%d %s",i,a);
}
-------------------------------------------------------------------------------------------
float cao(int a[][4],int x,int y)
{
int i,j,min,max,sum=0;
min=max=a[0][0];
for(i=0;i for(j=0;j {
if(a[i][j]>max)max=a[i][j];
if(a[i][j] sum+=a[i][j];
}
return ((float)sum-min-max)/(i*j-2);
}
---------------------------------------------------------------------------------------------
#include
void main()
{
int x,y;
scanf("%d",&x);
if(x<0)
y=x;
else if(x<10)
y=5*x-1;
else
y=8*x+10;
printf("x=%d y=%d\n",x,y);
}

回答5:

1.
#include
#include

int main(int argc, char **argv)
{
char Buffer[50] = {0};
int count = 0;
int i;
char *ptr = NULL;

gets(Buffer);
ptr = Buffer;
for(i=0; i<50; i++)
{
if(*ptr >= '0' && *ptr <= '9')
{
count++;
}
ptr++;
}
printf("The number count is %d. \n", count);
return 0;
}