當前位置:首頁 » 編程語言 » c語言列印字元方陣
擴展閱讀
如何刪除口袋計步器 2022-07-06 22:14:59
音樂資料庫哪個好 2022-07-06 22:14:26

c語言列印字元方陣

發布時間: 2022-05-24 13:45:58

⑴ 用c語言編程,輸入整數n,輸出相應方陣,比如n為5可得到下面方陣

#include <stdio.h>
#include <stdlib.h>
int main() {
int i,j,n;
printf("請輸入整數n:");
scanf("%d",&n);
for(i=0; i<n; i++) {
for(j=0; j<n; j++) {
if(i==j) printf("%d ", 1);
else printf("%d ", 0);
}
printf(" ");
}
}

⑵ C語言輸出12345方陣

大概想法就是,對角線上是1,對角線的夾角內分別是2,3,4,5四個方向

#include<stdio.h>

intmain()
{
inti,j,n;
inta[21][21]={0};
scanf("%d",&n);
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
if(i==j||(i+j)==n-1)
a[i][j]=1;
if(j>i&&(i+j)<n-1)
a[i][j]=2;
if(j>i&&(i+j)>n-1)
a[i][j]=4;
if(j<i&&(i+j)<n-1)
a[i][j]=3;
if(j<i&&(i+j)>n-1)
a[i][j]=5;
printf("%d",a[i][j]);
}
printf(" ");
}
}

⑶ 怎樣用C語言輸出矩陣

定義二維數組作為矩陣,然後用兩個for循環列印出每個元素即可。
例如一個10x10的矩陣;
#define m 10
#define m 10
int a[m][n];
for(i = 0; i <m; i++){
for(j = 0; j < n; j++)
printf("%d",a[i][j]);
printf("\n");
}

⑷ C語言 列印矩陣

你好
具體實現如下 代碼有注釋 幫助理解
#include <stdio.h>
void main()
{
int i,j,n;
int a[100][100];//行標和列標的最大值100可以自行修改 不過這里100足夠了
printf("enter n(n<=100):");//因為預定義的數組最大就是100 因此不要超過數組行標和列標的最大值
scanf("%d",&n);
for(i=0;i<n;i++)
{
if(i%2==0)//判斷行數是偶數 那麼就是降序
{
for(j=0;j<n;j++)
a[i][j]=i*n+(j+1);
}
else//行數是奇數 就升序
{
for(j=n-1;j>-1;j--)
a[i][j]=i*n+(n-j);
}
}
for(i=0;i<n;i++)//輸出數組a
{
for(j=0;j<n;j++)
{
printf("%d\t",a[i][j]);
}
printf("\n\n\n");
}
}

希望能幫助你哈

⑸ c語言輸入一個正整數,列印n*n方陣

程序不能運行的主要原因是定義數組的時候用變數做下標,其他的錯誤我用注釋給出了
#include<stdio.h>
intmain()
{
intn,i,j,sum=0;//sum要初始化
inta[6][6]={0};//數組不能用變數做下標
printf("請輸入方階的階數n<n<=n<=6>: ");
scanf("%d",&n);
printf("請輸入%d階方陣各元素的值: ",n);
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
scanf("%d",&a[i][j]);
/*這兩句刪除
printf("%4d",a[i][j]);
printf(" ");*/
}
printf(" ");
printf("該%d階方陣為: ",n);
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
printf("%4d",a[i][j]);
printf(" ");
}
printf(" ");
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
if(i==j)//判斷相等是==
sum=sum+a[i][j];
}
printf(" 該方陣主對角線元素的和為%d",sum);
}

⑹ C語言給一個由英文大寫字母組成的字元串,串長為n*n(0<n<11),請將這個按Z字形排列輸出這個字元方陣。

#include<stdio.h>
#include<string.h>
#defineN11
inti,j;
intk;
intln;
intn;
chars[N*N];
chara[N][N];
voidgo_right(){
j++;
}
voidgo_left(){
j--;
}
voidgo_down(){
i++;
}
voidgo_up(){
i--;
};
voidleft_down(){
go_left();
go_down();
}
voidright_up(){
go_right();
go_up();
}
voidgo(){
while(1){
if(j+1<n){
go_right();a[i][j]=s[k];k++;//右移
if(k==ln+1)return;
}
else{
go_down();a[i][j]=s[k];k++;
if(k==ln+1)return;
}

while(1){//左下移動
left_down();
if(j>=0&&i<n){
a[i][j]=s[k];k++;
if(k==ln+1)return;
}
elsebreak;
}
j++;i--;//還原一步

if(i+1<n){
go_down();a[i][j]=s[k];k++;//向下
if(k==ln+1)return;
}
else{
go_right();a[i][j]=s[k];k++;//右移
if(k==ln+1)return;
}

while(1){//右上移動
right_up();
if(i>=0&&j<n){
a[i][j]=s[k];k++;
if(k==ln+1)return;
}
elsebreak;
}
i++;j--;//還原一步
}
}
voidprint(){
i=j=0;
for(i=0;i<n;i++){
for(j=0;j<n;j++)
printf("%c",a[i][j]);
printf(" ");
}
}
voidZ(chars[]){
ln=strlen(s);
n=(int)sqrt(ln);
k=0;
i=j=0;
a[i][j]=s[k];k++;
go();
print();
return;
}
intmain(){
while(scanf("%s",s)!=EOF){
Z(s);
}
return0;
}

⑺ c語言這個怎麼要填13個數才能把矩陣列印出來,填12個數就一直回車無限循環

您好,很高興回答您的問題。
在scanf函數中,包含有兩部分內容,一個由雙引號括起來的格式字元,包括有以%開頭的格式符、以\開頭的轉義字元和普通字元。其中格式符就是需要輸出的數據的格式、即為類型,轉義字元會轉變成相關含義顯示,普通字元會照原樣輸出。這裡面的%d是格式符,後面的空格是普通字元,沒有轉義字元,那麼在輸入的時候就要輸入一個數字後再輸入一個空格,系統才能結束輸入。這個就是為什麼要多輸入一個字元的原因。去掉%d後面的空格,那麼就不會出現這個問題了。

⑻ C語言,輸出字母方陣

#include<stdio.h>

main()
{
charc=65;
inti=0,j=0,n=0;
scanf("%d",&n);

for(i=0;i<n;i++)
{
for(j=i;j<n+i;j++)
{
printf("%c",c+j%26);
}
printf(" ");
}
}
26
ABCDEFGHIJKLMNOPQRSTUVWXYZ
BCDEFGHIJKLMNOPQRSTUVWXYZA
CDEFGHIJKLMNOPQRSTUVWXYZAB
DEFGHIJKLMNOPQRSTUVWXYZABC
EFGHIJKLMNOPQRSTUVWXYZABCD
FGHIJKLMNOPQRSTUVWXYZABCDE
GHIJKLMNOPQRSTUVWXYZABCDEF
HIJKLMNOPQRSTUVWXYZABCDEFG
IJKLMNOPQRSTUVWXYZABCDEFGH
JKLMNOPQRSTUVWXYZABCDEFGHI
KLMNOPQRSTUVWXYZABCDEFGHIJ
LMNOPQRSTUVWXYZABCDEFGHIJK
MNOPQRSTUVWXYZABCDEFGHIJKL
NOPQRSTUVWXYZABCDEFGHIJKLM
OPQRSTUVWXYZABCDEFGHIJKLMN
PQRSTUVWXYZABCDEFGHIJKLMNO
QRSTUVWXYZABCDEFGHIJKLMNOP
RSTUVWXYZABCDEFGHIJKLMNOPQ
STUVWXYZABCDEFGHIJKLMNOPQR
TUVWXYZABCDEFGHIJKLMNOPQRS
UVWXYZABCDEFGHIJKLMNOPQRST
VWXYZABCDEFGHIJKLMNOPQRSTU
WXYZABCDEFGHIJKLMNOPQRSTUV
XYZABCDEFGHIJKLMNOPQRSTUVW
YZABCDEFGHIJKLMNOPQRSTUVWX
ZABCDEFGHIJKLMNOPQRSTUVWXY
Pressanykeytocontinue

⑼ C語言怎麼在同一位置多次列印矩陣

通過字元控制是很難做出來的,而且毫不值得,你基本需要控制游標到特定位置進行重繪,這需要操作系統支持,而這種支持似乎越來越少了,已經沒有啥API可以讓你直接做了。

這種東西建議學習windows編程,然後用圖形界面做。

⑽ C語言如何列印螺旋方陣最好能夠說說思路。

int n為階數,具體列印格式你可以按需要改 void op(int n) { int i=0,j=0; int*(*p); int temp = 1; int t; p = (int**)malloc(sizeof(int*)*n); for (t=0;t<n;t++) { p[t]=(int*)malloc(sizeof(int)*n); } for (t=0;t<((float)n/2);t++) { for (;j<n-t;j++) p[i][j] = temp++; j--; i++; for(;i<n-t;i++) p[i][j] = temp++; i--; j--; for(;j>=t;j--) p[i][j] = temp++; j++; i--; for(;i>t;i--) p[i][j] = temp++; j++; i++; } for (i=0;i<n;i++) { for (j=0;j<n;j++) { printf(\"%3d \",p[i][j]); } printf(\"\\n\"); } }