Pages: 5/14 First page Previous page 1 2 3 4 5 6 7 8 9 10 Next page Final page [ View by Articles | List ]

c 中的元素是 a 和 b 对应元素的最大值

| December 4, 2007 20:02 | timmy | Via Original
输入一个正整数repeat (0输入 1 个正整数 n(1≤n≤10),再读入 n 阶方阵 a 和 b, 生成并输出 n 阶方阵 c,c 中的元素是 a 和 b 对应元素的最大值. c[i][j]=max(a[i][j],b[i][j])   i,j=0,1,2...n-1
例:括号内是说明
输入:
1      (repeat=1)
3      (n=3)
1 2 3 4 5 6 7 8 9 (输入方阵a)
2 3 4 5 6 7 8 9 0 (输入方阵b)
输出:
2     3     4
5     6     7
8     9     9




#include "stdio.h"
int main( )
{  int ri,repeat;
   int a[6][6],b[6][6],c[6][6],i,j,n;
   scanf("%d",&repeat);
   for(ri=1;ri<=repeat;ri++){
      scanf("%d",&n);
     for (i=0;i<n;i++)
         for(j=0;j<n;j++)
          scanf("%d",&a[i][j]);
     for (i=0;i<n;i++)
         for(j=0;j<n;j++)
          scanf("%d",&b[i][j]);
     for (i=0;i<n;i++)
         for(j=0;j<n;j++)
       if(b[i][j]>a[i][j])
         c[i][j]=b[i][j];
       else
         c[i][j]=a[i][j];
     for (i=0;i<n;i++){
         for(j=0;j<n;j++)
          printf("%-6d",c[i][j]);
       printf("\n");
     }
  }
}
Tags:

在这n个数中找出与平均值之差的平方和最小的数

| November 27, 2007 19:11 | timmy | Via Original
输入一个正整数repeat (0读入1 个正整数n(n<=10),再读入n个整数, 计算平均值(取整),然后在这n个数中找出与平均值之差的平方和最小的数(设惟一)。
例:括号内是说明
输入:
2        (repeat=2)
4        (n=4)
-10 2 -5 0
3        (n=3)
1  2  3
输出:
-5  (平均值是-3,与平均值之差的平方和是49 25 4 9,最小平方和是4,对应的数是-5)
2  (平均值是2,与平均值之差的平方和是1 0 1,最小平方和是0,对应的数是2)



#include "stdio.h"
int main( )
{ int ri,repeat;
 int aver,i,n,sub,a[10];
 long b[10];
 scanf("%d",&repeat);
 for(ri=1;ri<=repeat;ri++){
    scanf("%d",&n);
   aver=0;
    for(i=0;i<n;i++){
      scanf("%d",&a[i]);
     aver+=a[i];
   }
   aver/=n;
   for(i=0;i<n;i++)
     b[i]=(a[i]-aver)*(a[i]-aver);
   sub=0;
   for(i=0;i<n;i++)
     if(b[i]<b[sub])
       sub=i;
    printf("%d\n",a[sub]);
   }
}
Tags:
输入一个正整数repeat (0读入 1 个正整数 n(1≤n≤6)和 1 个整数 digit, 输出一个 n 阶的方阵, 该方阵副对角线、最后一列和最后一行上的元素都是digit,其它元素都是 digit-1。(副对角线为从矩阵的右上角至左下角的连线)
例:括号内是说明
输入:
1       (repeat=1)
4   2   (n=4, digit=2)
输出:
1     1     1     2    
1     1     2     2    
1     2     1     2    
2     2     2     2    



#include "stdio.h"
int main( )
{  int ri,repeat;
  int a[6][6],i,j,n,digit;
  scanf("%d",&repeat);
  for(ri=1;ri<=repeat;ri++){
    scanf("%d%d",&n,&digit);
   for (i=0;i<n;i++)
        for(j=0;j<n;j++){
       a[i][j]=digit-1;
       if((i+j==n-1)||i==n-1||j==n-1)
         a[i][j]++;
     }
    for (i=0;i<n;i++){
        for(j=0;j<n;j++)
          printf("%-6d",a[i][j]);
       printf("\n");
    }
 }
}
Tags:

函数程序设计求数列的和

| November 27, 2007 19:09 | timmy | Via Original
编写一个程序,计算数列1+(1+2)+(1+2+3)+…+(1+2+3+…+n)的前n项之和。要求:定义一个含静态局部变量的函数,用于计算数列第i项的值。
例:(括号内为说明)
输入
5(n=5)
输出
sum=35




#include <stdio.h>
long num(int n);
void main()
{
  int n,i;
  long sum=0;

  scanf("%d",&n);
  for(i=1;i<=n;i++)
    sum+=num(i);
  printf("sum=%ld\n",sum);
}
long num(int n)
{
  static long s;
  s+=n;
  return s;
}
Tags:

用递归方法实现对一个整数进行逆序输出

| November 27, 2007 19:08 | timmy | Via Original
用递归方法实现对一个整数进行逆序输出。
例:(括号内为说明)
输入
3(repeat=3)
123
900
5
输出
After reverse:321
After reverse:009
After reverse:5



#include <stdio.h>
void reverse(int n);
void main()
{
  int n,ri,repeat;

  scanf("%d",&repeat);
  for(ri=1;ri<=repeat;ri++){
    scanf("%d",&n);
    printf("After reverse:");
    reverse(n);
    printf("\n");
  }
}
void reverse(int n)
{
  if(n!=0){
    printf("%d",n%10);
    reverse(n/=10);
  }
}
Tags:
Pages: 5/14 First page Previous page 1 2 3 4 5 6 7 8 9 10 Next page Final page [ View by Articles | List ]