C语言程序分析填表题,跪求大神学霸帮帮忙!!
展开全部
3.1、 3,3,3,1,2,无
3.2、 6, 10, 14, 18, 22, 无
3.3、2,4,6, 8, 10,0, 0, 0, 0, 0
1, 3,5,2,4,6
3.4、 0,1;
1,0;
1,0;
太多了这是考试题?
3.5、 这道不得不所出题人是为了出题而出题,
6行,设置断点,观察i和n的值
7行设断点观察 x,a[i]的值
9行,设断点,观察j的值
11行错误,j = n , i < n,j >= i 且 j++ 所以条件恒为真,导致对数组a的访问越界,改为 j--;
13行,设断点观察a[i];
14行,continue;累赘无意义,可删掉;
16行,断点,观察i和n的值,但是本题i ==n恒为假无意义,
4.1 #include <stdio.h>
int main(int argc,char *argv[])
{
int input = 0;
scanf("%d", &input);
if(input%5 == 0 && input%7==0) // 余数为0 表示能被整除
{
printf("yes\n");
}
return (0);
}
4.2 #include<stdio.h>
int main(int argc, char *argv[])
{
int i = 0;
int j = 0;
int array[3] = {0};
/* 数据输入 */
printf("请输入3个0~100之间的整数\n");
for (i = 0; i < 3;)
{
printf("请输入第 %d 个0~100整数:\n");
scanf("%d", &array[i]);
if(array[i] < 0 || array >100)
{
printf("输入数据错误,请重新输入!\n");
continue;
}
else
{
i++;
}
}
/* 排序 */
for(i = 0; i < 3; i++)
{
for(j = 0; j < 3; j++)
{
if (array[i] > array[j])
{
/* 交换位置 */
array[i]=array[i]^array[j];
array[j]=array[j]^array[i];
array[i]=array[i]^array[j];
}
}
}
/* 输出 */
for(i = 0; i < 3; i++)
{
printf("%d\t", array[i]);
}
return (0);
}
4.3 int compare(int *a, int *b, int *c)
{
if(a == NULL || b == NULL || c == NULL)
{
/* 传入空指针检查 */
return (-1);
}
int i = 0;
int j = 0;
int array[3] = {0};
array[0] = *a;
array[1] = *b;
array[2] = *c;
/* 排序 */
for(i = 0; i < 3; i++)
{
for(j = 0; j < 3; j++)
{
if (array[i] > array[j])
{
/* 交换位置 */
array[i]=array[i]^array[j];
array[j]=array[j]^array[i];
array[i]=array[i]^array[j];
}
}
}
*a = array[0];
*b = array[1];
*c = array[2];
return (0);
}
真麻烦,速度给分吧
3.2、 6, 10, 14, 18, 22, 无
3.3、2,4,6, 8, 10,0, 0, 0, 0, 0
1, 3,5,2,4,6
3.4、 0,1;
1,0;
1,0;
太多了这是考试题?
3.5、 这道不得不所出题人是为了出题而出题,
6行,设置断点,观察i和n的值
7行设断点观察 x,a[i]的值
9行,设断点,观察j的值
11行错误,j = n , i < n,j >= i 且 j++ 所以条件恒为真,导致对数组a的访问越界,改为 j--;
13行,设断点观察a[i];
14行,continue;累赘无意义,可删掉;
16行,断点,观察i和n的值,但是本题i ==n恒为假无意义,
4.1 #include <stdio.h>
int main(int argc,char *argv[])
{
int input = 0;
scanf("%d", &input);
if(input%5 == 0 && input%7==0) // 余数为0 表示能被整除
{
printf("yes\n");
}
return (0);
}
4.2 #include<stdio.h>
int main(int argc, char *argv[])
{
int i = 0;
int j = 0;
int array[3] = {0};
/* 数据输入 */
printf("请输入3个0~100之间的整数\n");
for (i = 0; i < 3;)
{
printf("请输入第 %d 个0~100整数:\n");
scanf("%d", &array[i]);
if(array[i] < 0 || array >100)
{
printf("输入数据错误,请重新输入!\n");
continue;
}
else
{
i++;
}
}
/* 排序 */
for(i = 0; i < 3; i++)
{
for(j = 0; j < 3; j++)
{
if (array[i] > array[j])
{
/* 交换位置 */
array[i]=array[i]^array[j];
array[j]=array[j]^array[i];
array[i]=array[i]^array[j];
}
}
}
/* 输出 */
for(i = 0; i < 3; i++)
{
printf("%d\t", array[i]);
}
return (0);
}
4.3 int compare(int *a, int *b, int *c)
{
if(a == NULL || b == NULL || c == NULL)
{
/* 传入空指针检查 */
return (-1);
}
int i = 0;
int j = 0;
int array[3] = {0};
array[0] = *a;
array[1] = *b;
array[2] = *c;
/* 排序 */
for(i = 0; i < 3; i++)
{
for(j = 0; j < 3; j++)
{
if (array[i] > array[j])
{
/* 交换位置 */
array[i]=array[i]^array[j];
array[j]=array[j]^array[i];
array[i]=array[i]^array[j];
}
}
}
*a = array[0];
*b = array[1];
*c = array[2];
return (0);
}
真麻烦,速度给分吧
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询