跪求强人解答C语言编程问题
第一题:输入一个M*N二维数组,求该二维数组所有靠外侧的元素之和。要求M和N用#define 进行定义
第二题:写一个函数计算两个正整数的最小公倍数,在主函数中用scanf输入m,n两个正整数,调用函数后,打印这两个正整数的最小公倍数。
第三题:将1——1000中所有21的倍数存到一个一维数组中,并输出该数组的所有数据。
第四题:写一个函数判断一个正整数是否为偶数,在主函数中用scanf输入正整数m,调用函数后,根据函数返回值判断这个正整数是否为偶数,若是则输出“yes”,否则输出“no”
小弟跪求答案啊!!!!!!!
追问:接下来几题呢? 谢谢啊!!
答案:#include<stdio.h>
#define N 10
#define M 10
int main ()
{
int a[N][M];
int i,j,sum;
printf("输入一个10*10的矩阵\n");
sum=0;
for(i=0;i<N;i++){
for(j=0;j<M;j++){
scanf("%d",&a[i][j]);
if(i==0||i==N-1||j==0||j==M-1)
sum+=a[i][j];
}
}
printf("%d\n",sum);
return 0;
} 只要改变N M的之就能控制矩阵的大小3
#include<stdio.h>
int main()
{
int i,b=0,a[100];
for(i=1;i<=1000;i++)
{if(i%21==0)
{ a[b]=i;
b++;
}
}
for(i=0;i<b;i++)
printf("%d ",a[i]);
printf("\n");
getchar();
return 0;
}
4
#include<stdio.h>
void f(int n)
{
if(n%2==0) printf("yes\n");
else printf("no\n");
}
int main()
{
int m;
void f(int m);
scanf("%d",&m);
f(m);
return 0;
}
#define N 5
#define M 5
main()
{
int a[M][N],i,j,sum=0;
for(i=0;i<M;i++)
for(j=0;j<N;j++)
{
scanf("%d",&a[i][j]);
if(i==0||j==0||i==M-1||j==N-1)
sum+=a[i][j];
}
printf("sum=%d",sum);
}
(连载中....)
运行结果:
#include <stdio.h>
#include <stdlib.h>
#define N 3
#define M 3
//第一题,输入
void InputArray(int arraynumber[][M])
{
for(unsigned int row = 0;row<N;++row)
{
for(unsigned int col=0;col<M;++col)
{
printf("输入%d行%d列的数字:",row+1,col+1);
scanf("%d",&arraynumber[row][col]);
}
}
}
//第一题:输出并且求和
void GetSum(int arraynumber[][M])
{
unsigned int sum=0;
for(unsigned int row = 0;row<N;++row)
{
for(unsigned int col=0;col<M;++col)
{
if(row==0 || row==N-1 || col==0 || col==M-1)
{
sum+=arraynumber[row][col];
}
printf("%d\t",arraynumber[row][col]);
}
printf("\n");
}
printf("\n");
printf("外圈求和结果:%u\n",sum);
}
//第二题,求最小公倍数(先求最大公约数)
unsigned int GetLPNum(unsigned int a, unsigned int b)
{
//计算最大公约数
unsigned int temp=0;
if(a<b)
{
a^=b;
b^=a;
a^=b;
}
while(a%b!=0)
{
temp=a;
a=b;
b=temp%a;
}
return b;
}
//第四题
void Teller(unsigned int n)
{
printf(n%2==0?"Yes":"No");
}
void main()
{
printf("输入一个%d行%d列的数组,系统自动计算外围数字的和:\n",N,M);
int Array[N][M];
InputArray(Array);
GetSum(Array);
printf("输入两个数,求最小公倍数:");
unsigned int a,b;
scanf("%u %u",&a,&b);
printf("最小公倍数:%u\n\n",(a*b)/GetLPNum(a,b));
printf("第三题:输出所有21倍数的数字:\n");
unsigned int counter = 0;
for(unsigned int n=1;n<1001;++n)
{
if(n%21==0)
{
printf("%u\t",n);counter++;
}
if(counter%5==0)
{
//printf("\n");
counter=0;
}
}
printf("\n第四题:输入数字判断奇数偶数:\n");
unsigned int n=0;
scanf("%u",&n);
Teller(n);
system("pause");
}
上一个:帮我C语言把程序翻译一下
下一个:C语言与其他编程语言的区别