C语言编程,急急急急急急急!!在线等!!!!
1:下列程序将数组a中下标值为偶数(包括0下标)的元素从大到小排序,其他元素不变,请完成程序填空,使其能正确运行。#include<stdio.h>voidmain(){...
1:下列程序将数组a中下标值为偶数(包括0下标)的元素从大到小排序,其他元素不变,请完成程序填空,使其能正确运行。
#include<stdio.h>
void main()
{ int a[10]={45,55,43,25,56,47,87,90,24,88},i,j,k,t;
k=10;
for(i=0;i<___①__ ; ____②___)
for(j=i+2;j<k; ___③___)
if(_____④_____) { ________⑤_______; }
for(i=0;i<10;i++)
printf("%6d",a[i]);
}
2:寻找具有下列特性的所有4位正整数,其特点是:百位数为0,去掉百位数0可得到一个3位正整数,而该3位正整数乘以9等于原4位正整数。例如:6075=675*9,所以6075是具有上述特性的正整数。请编程实现并对关键的语句添加必要的注释。
第二题我是这么做的:
int fun(int n)
{ int a[4],i,k;
k=n;
for(i=0;k>0;i++)
{a[i]=k%10;
k/=10;
}
if(a[2]==0&&(a[3]*100+a[1]*10+a[0]*9==n))
return 1;
else
return 0;
}
void main()
{ int i,n=0;
for(i=1000;i<10000;i++)
if(fun(i))
printf("%4d\t",i);
printf("\n");
}
不知道错在哪里啊,两位麻烦再帮我解答一下~~~感谢!!!!
我做出来了,错在少了两个括号,在(a[3]*100+a[1]*10+a[0]*9==n)的9前面应该在加一对括号!就可以了!答案是2025,4050,6075。谢谢两位的第一题!都做的很正确,但是还是采用第一位的答案吧,毕竟他比较快~~ 展开
#include<stdio.h>
void main()
{ int a[10]={45,55,43,25,56,47,87,90,24,88},i,j,k,t;
k=10;
for(i=0;i<___①__ ; ____②___)
for(j=i+2;j<k; ___③___)
if(_____④_____) { ________⑤_______; }
for(i=0;i<10;i++)
printf("%6d",a[i]);
}
2:寻找具有下列特性的所有4位正整数,其特点是:百位数为0,去掉百位数0可得到一个3位正整数,而该3位正整数乘以9等于原4位正整数。例如:6075=675*9,所以6075是具有上述特性的正整数。请编程实现并对关键的语句添加必要的注释。
第二题我是这么做的:
int fun(int n)
{ int a[4],i,k;
k=n;
for(i=0;k>0;i++)
{a[i]=k%10;
k/=10;
}
if(a[2]==0&&(a[3]*100+a[1]*10+a[0]*9==n))
return 1;
else
return 0;
}
void main()
{ int i,n=0;
for(i=1000;i<10000;i++)
if(fun(i))
printf("%4d\t",i);
printf("\n");
}
不知道错在哪里啊,两位麻烦再帮我解答一下~~~感谢!!!!
我做出来了,错在少了两个括号,在(a[3]*100+a[1]*10+a[0]*9==n)的9前面应该在加一对括号!就可以了!答案是2025,4050,6075。谢谢两位的第一题!都做的很正确,但是还是采用第一位的答案吧,毕竟他比较快~~ 展开
2个回答
展开全部
#include<stdio.h>
void main() {
int a[10] = {45, 55, 43, 25, 56, 47, 87, 90, 24, 88}, i, j, k, t;
k = 10;
for (i = 0; i < 10; i = i + 2)
for (j = i + 2; j < k; j = j + 2)
if (a[i] < a[j]) {
t = a[i];
a[i] = a[j];
a[j] = t;
}
for (i = 0; i < 10; i++)
printf("%6d", a[i]);
}
完整程序应该这样,程序测试通过
void main() {
int a[10] = {45, 55, 43, 25, 56, 47, 87, 90, 24, 88}, i, j, k, t;
k = 10;
for (i = 0; i < 10; i = i + 2)
for (j = i + 2; j < k; j = j + 2)
if (a[i] < a[j]) {
t = a[i];
a[i] = a[j];
a[j] = t;
}
for (i = 0; i < 10; i++)
printf("%6d", a[i]);
}
完整程序应该这样,程序测试通过
展开全部
#include<stdio.h>
void main()
{
ina[10]={45,55,43,25,56,47,87,90,24,88},i,j,k,t;
k=10;
for(i=0;i<k;i += 2)
for(j=i+2;j<k;j+=2)
if(a[i] < a[j])
{
t=a[i];a[i] = a[j];a[j] = t;
}
for(i = 0;i < 10;i++)
printf("%6d",a[i]);
}
void main()
{
ina[10]={45,55,43,25,56,47,87,90,24,88},i,j,k,t;
k=10;
for(i=0;i<k;i += 2)
for(j=i+2;j<k;j+=2)
if(a[i] < a[j])
{
t=a[i];a[i] = a[j];a[j] = t;
}
for(i = 0;i < 10;i++)
printf("%6d",a[i]);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询