1. c語言列印出n行n列的圖形,第一列一個*,第二列兩個**,第三列三個***,直到n列n個*,列與列有一空格
#include<stdio.h>
#include<stdlib.h>
#defineN10
intmain()
{
inti;
intj;
for(i=0;i<N;i++)
{
for(j=0;j<=i;j++)
printf("*");
printf(" ");
}
}
2. C語言如何定義一個N行N列的二維數組任意輸入數據
1、一般情況下,題目會給出N不大於M,m不大於幾的限制條件,此時只需這樣定義即可
int
a[N]M],其中N和M作為常數進行宏定義,比如
#define
N
5
#define
M
6
2、學到動態內存分配後,就不會有這樣的擔憂,需要時,可用malloc()函數在「堆」空間申請內存,該函數的原型是:
void
*malloc(
size_t
size
);,功能是要求系統分配大小為size個位元組的堆空間,注意到該函數的分會類型是void,通過強制類型轉換即可獲得需要的數據類型,比如
int
*p;
p
=
(int
*)malloc(30);
如果申請成功,則返回該區域的首址,失敗則返回NULL。
3. C語言,在n行n列的矩陣中,每行都有最大打數,輸出這n個最大數中的最小值。這兩個if括弧里邊怎麼填
row==0
max<min
4. 用C語言編程解決:在 n 行 n 列的矩陣中,每行都有最大的數,求這 n 個最大數中的最小一個
#include "stdio.h"
int main()
{
int d[100][100],n,max[100],min;
int i,j;
printf("輸入矩陣階數:");
scanf("%d",&n);
printf("輸入%d*%d階矩陣:\n",n,n);
for(i=0;i<n;i++)
{
scanf("%d",&d[i][0]);
max[i]=d[i][0];
if(i==0) min=d[i][j];
for(j=1;j<n;j++)
{
scanf("%d",&d[i][j]);
if(max[i]<d[i][j])
max[i]=d[i][j];
}
if(min>max[i]) min=max[i];
}
printf("\n各行數中最大者中最小的數是%d",min);
}
5. C語言輸出n行n列的「*」,不想用兩層循環有沒有更簡便的演算法
intfcn(intn)
{
if(n>1)
returnfcn(n-1);
printf("*");
}
intmain()
{
intn;
printf("Pleaseinputanumber: ");
scanf("%d",&n);
for(inti=0;i<ni++)
{
fcn(n);
printf(" ");
}
}
6. c語言編程:輸入n,輸出n行n列的矩陣
#include<stdio.h>
int maini()
{
int n,i,j,k=1;
scanf("%d",&n);
for(i=0;i<n;i++){
for(j=0;j<n;j++){
printf("%d ",k);
k++;
}
printf("\n");
}
}
7. C語言中如何求一個二維數組n行n列中每一行最大的數
#include<stdio.h>
int main()
{int a[4][3]={1,42,3,45,5,6,7,78,9,10,11,12},b[4];
int i,j;
printf("A數組: ");
for(i=0;i<4;i++)
{
for(j=0;j<3;j++)
printf("%3d",a[i][j]);
printf(" ");
}
for(i=0;i<4;i++)
{b[i]=a[i][0];
for(j=1;j<3;j++)
if(a[i][j]>b[i])
b[i]=a[i][j];
}
printf("每一行最大的數: ");
for(i=0;i<4;i++)
printf("%d ",b[i]);
return 0;
}
8. C語言,n行n列數組,求和,要求進來看,好的加滿分
//用全排列的方法求解,排除掉全排列中行號和列號相同的即可
//由於每次測試可能輸入較多數據,使用freopen進行重定向,這樣可以節省調試時間,在工程文件夾中建立一個名為
//t.txt的文件,然後以如下格式輸入數據:
//2//這個是矩陣的大小
//1222//下面是每行的數據
//3220
//如果需要手動輸入測試數據,將freopen這行代碼注釋掉即可。
//另外,為了觀察結果,輸出了較多的提示信息,可以自行修改
#include<stdio.h>
#defineMAX100
intperm[MAX+1];//存放所有的排列數
intdata[MAX+1][MAX+1];//數據
intcount=1;
voidpermutation(intperm[],intn,intcurr)
{
inti;
intsum;
if(curr==n)
{
sum=0;
for(i=1;i<=n;i++)
{
//列號在perm[i]中
if(i==perm[i])
return;
else
{
sum+=data[i][perm[i]];
}
}
for(i=1;i<=n;i++)
printf("A[%d][%d]=%d",i,perm[i],data[i][perm[i]]);
printf(" S%d=%d ",count++,sum);
return;
}
for(i=curr;i<=n;i++)
{
intt;
t=perm[curr];
perm[curr]=perm[i];
perm[i]=t;
permutation(perm,n,curr+1);
t=perm[curr];
perm[curr]=perm[i];
perm[i]=t;
}
}
intmain()
{
freopen("t.txt","r",stdin);
inti,j;
intn;
scanf("%d",&n);
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
scanf("%d",&data[i][j]);
for(i=n;i>=1;i--)
perm[i]=i;
permutation(perm,n,1);
return0;
}
//我寫的可能有些問題,沒時間改了,樓主自己改改看吧。我的結果好像不是(n-1)!個。
9. 求助 C語言程序設計 N行N列矩陣與向量相乘
floatret=0;
for(inti=0;i<N;i++)
for(intj=0;j<N;j++)
ret+=x[i]*a[i][j]*y[j];
return(ret);
輸入有兩個向量,視為一個行向量和一個列向量
10. c語言 輸入n行n列的數據 然後實現互換對角的數據的程序怎麼寫比較好
2行3列怎麼互換對角233
101
我覺得是不是m行m列互換對角
比如:123
456
789
互換後:
321
456
987
是這樣嗎????
這是我寫的代碼:
#include <stdio.h>
#define N 50
int main()
{
int a[N][N],m,i,j,k;
puts("請輸入多少行列 最大50:");
scanf("%d",&m);
printf("請輸入%d*%d個數據
",m,m);
for(i=0;i<m;i++)
for(j=0;j<m;j++)
scanf("%d",&a[i][j]);
puts("互換前:");
for(i=0;i<m;i++)
{ for(j=0;j<m;j++)
{ printf("%-4d",a[i][j]);}
puts("");
}
puts("互換後:");
for(i=0;i<m;i++)
for(j=0;j<m;j++)
{
if(i+j==m-1) { k=a[i][i];a[i][i]=a[i][j];a[i][j]=k;}
}
for(i=0;i<m;i++)
{ for(j=0;j<m;j++)
{ printf("%-4d",a[i][j]);}
puts("");
}
return 0;
}
這是運算結果: