四道简单的c语言题,请大家帮帮忙了

1.编写程序,输入一个十进制整数,将其变换为二进制后储存在一个字符数组中。
2.输入5*5的数组,编写程序实现:
(1)求出对角线上各元素的和;
(2)求出对角线上行、列下标均为偶数的各元素的积;
(3)找出对角线上其值最大的元素和它在数组中的位置。
3.如果一个正整数等于其各个数字的立方和,则称该数为阿姆斯特朗数(亦称为自恋性数)。如 407=4^3+0^3+7^3就是一个阿姆斯特朗数。编写程序求1000以内的所有阿姆斯特朗数。(^代表乘方)
4.从键盘输入十个整数,用插入法对输入的数据按照从小到大的顺序进行排序,将排序后的结果输出

1.
#include<stdio.h>
int main()
{
int a[30],i,n;
int number;
printf("\n");
scanf("%d",&number);
for(i=0;number>0;i++)
{
a[i]=number%2;
number=number/2;
}
n=i-1;
for(i=n;i>=0;i--)
{
printf("%d",a[i]);
}
return 0;
}
2.
(1).
#include<stdio.h>
int main()
{
int i,j,a[5][5],sum1=0,t=0,sum2=0;
for(i=0;i<5;i++)
{
for(j=0;j<5;j++)
{
scanf("%d",&a[i][j]);
}
}
for(i=0;i<5;i++)
{
t=a[i][i];
sum1+=t;
}
sum2=a[0][4]+a[1][3]+a[2][2]+a[3][1]+a[4][0];
printf("sum=%d",sum1+sum2);
return 0;
}
(2).
#include<stdio.h>
int main()
{
int i,j,a[5][5],S=1;
for(i=0;i<5;i++)
{
for(j=0;j<5;j++)
{
scanf("%d",&a[i][j]);
}
}
for(i=0;i<5;i++)
{
for (j=0;j<5;j++)
{
S*=a[i][j];
j++;
}
i++;
}
printf("%d",S);
return 0;
}
(3)
#include<stdio.h>
int main()
{
int max;
int i,j,a[5][5],S=1;
for(i=0;i<5;i++)
{
for(j=0;j<5;j++)
{
scanf("%d",&a[i][j]);
}
}
max=a[0][0];
for(i=0;i<5;i++)
{
for (j=0;j<5;j++)
{
if(a[i][j]>max)
{
max=a[i][j];
}
}
}
printf("%d",max);
return 0;
}
3.
#include <stdio.h>
#include <math.h>
int main()
{
int i;
int a,b,c;
for(i=100;i<1000;i++)
{
a=i/100;
b=(i/10)%10;
c=i%10;
if(i==pow(a,3)+pow(b,3)+pow(c,3))
{
printf("%d\t",i);
}
}

return 0;
}
4.
#include <stdio.h>
int main()
{
int a[10],r[11];
int *p;
int i,j;
for (i=0;i<10;i++)
{
p=&a[i];
scanf("%d",&a[i]);
r[i+1]=a[i];
}
r[0]=1;
for(i=2;i<=10;i++)
{
r[0]=r[i];
j=i-1;
while(r[j]>r[0])
{
r[j+1]=r[j];
j--;
}
r[j+1]=r[0];
}
for(i=1;i<=10;i++)
{
p=&r[i];
printf("%d\t",*p);
}
return 0;
}

真是太够我写了,不过写完了,希望能够帮到你。
温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答
大家正在搜