当前位置:编程学习 > C/C++ >>

跪求强人解答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语言与其他编程语言的区别

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,