本文目录一览:
几道C语言的题麻烦帮忙看一下,谢谢!
已经填充完成:
第34题 (1.0分) 题号:418 难度:中 第93章
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------
功能:下面程序输出3×3矩阵的周边元素之和。
-------------------------------------------------------*/
#include stdio.h
void main( )
{ int a[ ][3]={9,7,5,3,1,2,4,6,8};
int i, j, s1=0, s2=0;
for(i=0; i3; i++)
for(j=0; j3; j++)
s1+=a[i][j];
for(i=1; i2; i++)
for(j=1; j2; j++)
/***********SPACE***********/
s1-=a[i][j];
/***********SPACE***********/
printf( "%d\n ",s1) ;
}
第35题 (1.0分) 题号:467 难度:中 第1章
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------
题目:函数fun的功能是:计算如“图片1”的前n项之和。
若x=2.5,n=15时,函数值为1.917914。
-------------------------------------------------------*/
#include stdio.h
#include math.h
double fun(double x, int n)
{
double f, t;
int i;
/***********SPACE***********/
f = 1;
t = -1;
for (i=1; in; i++)
{
/***********SPACE***********/
t *= (-1)*x/i;
/***********SPACE***********/
f += t;
}
return f;
}
main()
{
double x, y;
x=2.5;
y = fun(x, 15);
printf("\nThe result is :\n");
printf("x=%-12.6f y=%-12.6f\n", x, y);
}
初学编程,大家帮忙看下这道c语言题怎么做?万分感谢
先给你第一题的,百度知道的这个编辑器真的不适合粘贴代码
#includestdio.h
#includestring.h
#define MAX_ARRAY_SIZE 1024
#define MAX_MAP_SIZE 10
/* 输入数组,连续输入,如:aedabcdaeas */
int inputArray(char *buff) {
int len = 0;
/* 使用fgets来防止缓冲区溢出 */
if (NULL == fgets(buff, MAX_ARRAY_SIZE, stdin)) {
return 0;
}
len = strlen(buff);
/* fgets 返回的数据可能是换行符结尾的,也可能不是,对换行符结尾的进行处理 */
if (buff[len - 1] == '\n') {
buff[len - 1] = '\0';
len -= 1;
}
return len;
}
int processArray(int len, char *chars, char *map) {
/* 保存反向映射便于查找 */
int tmap[128];
int maplen = 0;
int i = 0;
char *p = chars;
memset(tmap, -1, sizeof(int) * 128);
for (i = 0; i len; i++) {
if (*p 'z' || *p 'a') {
return -*p;
}
if (tmap[*p] == -1) {
if (maplen = MAX_MAP_SIZE) {
return -1;
}
tmap[*p] = maplen;
map[maplen] = *p;
maplen += 1;
}
*p = '0' + tmap[*p];
p++;
}
return maplen;
}
int main() {
/* 用于输入的字符数组 */
char buff[MAX_ARRAY_SIZE];
/* 用于保存转换规则的数组 */
char map[MAX_MAP_SIZE];
/* 保存字符数组长度 */
int len = 0;
int maplen = 0;
int i = 0;
len = inputArray(buff);
if (len = 0) {
puts("Cancelled");
} else if (len 10) {
puts("Not enough 10 chars");
} else {
maplen = processArray(len, buff, map);
if (maplen = 0) {
puts("转换结果:");
for (i = 0; i len; i++) {
printf("%c ", buff[i]);
}
puts("");
puts("映射规则:");
for (i = 0; i maplen; i++) {
printf("%c - %d\n", map[i], i);
}
puts("");
} else if (maplen == -1) {
puts("Different Chars count is OverLimit of 10");
} else if (maplen = -2) {
printf("Unexpected char %c\n", -maplen);
}
}
return 0;
}
执行结果:
哪位大神帮我看一下这道C语言的题
答案为:B
如果语句改成这样:
struct S
{int g ; char h;} T;
,则可以用struct S定义结构体变量,此时的T是声明类型的同时定义了变量,在这种情况下选D
而加上typedef后等于为struct S取了一个新的名字——T,此时T等价于struct S,或者说T是struct S的另一种称呼。所以选B。
请大家帮忙看看这道C语言题
函数返回的是a,a是在if (*r == '\0')赋成了s地址 (每一次完全匹配地址,如果后面还能匹配会更新这个地址)
你的问题:
即便s++,a的值不变,还是之前记录好的值,所以返回的是 最后一次完全匹配地址,不是s的最后一个字符
请帮忙看一下 这道C语言题
隐式转换指将(a+b+c+d)/4的结果(算出来的结果)转换为float类型,而不是先将(a+b+c+d)和4转换为float类型后再计算,是先计算后转换。而(a+b+c+d)和4都是整型值,所以/运算进行的是整除,最后将除出来的结果隐式转换为float类型。所以必须是4.0,迫使/进行浮点除。